はじめに
ユーザのWindowsマシン内でスタンドアロンで動くデスクトップアプリケーションとして、画像解析アプリを作るため、良いGUIフレームワークを探している。候補の一つとして、前から使ってみたかったElectronの採用を検討。
要件
- 格好良いGUIをこれまで持っているスキルセットで作りたい(ドラッグ&ドロップなど複雑な操作を想定しているので、出来ればWebの技術)
- GUIからのインプットを元に、Pythonによる画像解析処理をして、結果をGUIに返したい
- スタンドアロンでの利用を想定、ユーザの環境設定は極力簡単にしたい
- インプットをマシンの外に送信しない(ファイルが大きく通信環境が貧弱なため、処理に時間が掛かってしまう)
調査内容
ElectronでAngularを使いたい
もともとのスキルセットとして、Angularを持っていたので、AngularとElectronを組み合わせて使いたいと思った。
このブログ 通りに実装することで、Electron+Angularで簡単にデスクトップアプリケーションを実装することができた。
ビルドはこちら を参照にした。
Pythonの実行をどうしよう・・・
課題
- 要件1は実現時できそうだが、2〜4.が見通し立たず(特に3.が怪しい。。Pythonの実行環境と共に配布したいが、できるのだろうか・・・今後確認)
- 何か無理そう・・・Angularを使わなければ行けそうなので、こちらに舵を切るか。。
参考
https://neos21.net/blog/2018/10/13-01.html
https://fireship.io/lessons/desktop-apps-with-electron-and-angular/
https://ics.media/entry/7298/
https://www.fyears.org/2015/06/electron-as-gui-of-python-apps.html