【Electronにした】個人的JavaScriptデスクトップアプリ技術選定
electron-viteの書き味が良かったのでこれにした。
他のは資料を色々と調べないといけない感があり、すぐにデスクトップアプリを作りたい! となったら趣味範囲ならElectronで充分なのかな……? と思っている。個人的にデスクトップアプリを作る用事があり、当初はTauriを使おうと思っていたがREST API呼び出ししかやらないので、JavaScriptのみで書けるデスクトップアプリ技術はあるか軽く見た
提供先は非技術者のWindows端末を想定
Deno周辺で生きている人間なので、それによる偏りはある
あと、個人が軽く調べてザックリ書いてるだけのものなので、参考程度になれば御の字
確認した、ないし確認予定のもの
webview_deno
確認用リポジトリ
結論
不採用。
webview_denoというよりDenoの影響で、deno compile
したアプリを起動するときにコンソールが出る。アプリでコンパイルしたならコンソールは出てほしくないので、採用見送りとする。
これはDeno公式のIssueにもあるが、解決策として提示されているものはRustだったので、正直解決策がわからなかった……。ハッキーらしいので、本体側をいじることになりそう?
Gluon
確認用リポジトリ
備考
コンパイルについて
Vercelのpkgを使えばコンパイルできるとのこと。
文中にある
packager using our own bootstapper executable
は以下のリポジトリのことだと思われるが、使ったことがないNimで書かれていることとREADME.mdが整備されていないことも加味して、一旦はpkgを使う。
コンパイル後の起動が上手いこといかない。
なまじローカル実行やコンパイルは上手いこといってるので、原因が掴めない。
検討を後回しにして、先にElectronをやる。
Denoの実験的サポートについて
Denoを実験的にサポートしているが、deno compile
は上記の問題があるのでNode.jsのみの検証となる。
WSL2上での開発について
Gluonはブラウザを使うので、ブラウザが入っていないWSLではエラーが出てそもそも立ち上がらない。
そこで、以下記事を参考にGoogle Chromeをインストールする。
古い記事だが問題なくインストールでき、立ち上げることができた。
React Native for Windows
まだ確認していない。
調べる前にElectronで決まってしまった
Electron
まだ確認していないが、過去に使ったことがある。
個人的には、Electronからの脱却としてTauriを採用したので候補としては一番後ろ。
ビルドサイズは問題だが趣味範囲なら無視できるので、electron-viteの書き味次第ではこちらでも問題ないと考えている。
JavaScriptに近似しているものでデスクトップアプリといえばDartのFlutterだが、そこまでするつもりもなかったので調べてない。