🎉

速習 electronjs

2023/02/22に公開

練習がてら簡単なアプリを作ってみたがたしかに簡単だった。
事実、これで商用アプリを開発してる例も幾つかある。

  • electronアプリは適当なjsから起動する。窓は何もでない。
  • 初期化は、electron.app.on("ready")コールバックでやるのがお作法らしい。
  • 窓は、new BrowserWindow() で作る。
    • 事実上 webPreferences:{nodeIntegration:true}は必須。
    • と思ってたんだが、セキュリティの観点で 12.0 から、nodejs全機能の公開を辞めたらしい。破壊的変更 | Electron
      • 面倒臭かったら { worldSafeExecuteJavaScript: false, contextIsolation: false } を追加
  • プルダウンメニューは、electron.Menu.setApplicationMenu()で注入する。
  • 窓の中のJSと、初期起動したJSは別プロセスなので、electron.{ ipcMain, ipcRenderer} で通信する必要がある。
  • 通信には文字列で任意の名前を付けられる。少なくとも英字とコロンは使えた。
  • 画面を閉じても初期起動JSは終わらない。別途終了させる必要が有る。
  • あとは、各種node_modules等を駆使して頑張る。

というのを試しながら作ってみたのがこれ(ディレクトリのファイル一覧を出すだけ

https://github.com/kamawanu/zenn.dev-kamawanu-codes/tree/main/practices/electronjs

Discussion