読者です 読者をやめる 読者になる 読者になる

ElectronをPythonのフロントエンドとして使う

Programming/Javascript Programming/Python Programming/electron
Github atomみたいな「まともな」アプリケーションをHTML+CSS+Javascriptでかけちゃう!というElectronなわけだけど、よく考えたらそんなにJavascript使えないんですよね。

買ってはみたんだけど

そんなことを思っていると、Electronはフロントエンドとしてしか使わないでアプリケーションの処理の方は全部他の言語で実装するというのも普通にできるらしい。
(参考:  Electron as GUI of Python Applications)

言ってしまえばサブプロセスとしてJavascript以外で作ったWEBアプリケーションをローカルで動かしているだけで、Electronはほんとにブラウザーとして動いているだけ。
ぶっちゃけた話Electronを使わないといけない意味というのはないはず。まぁ「アプリケーション」っぽいものを独立して作れるのはうれしいけど。(いわゆるキオスクブラウザに近い?)
参考記事だとFlaskというPythonの軽量WEBフレームワークで作ったページを表示するまでの間に一瞬表示されるスプラッシュ画面的なページだけ純Electronになっている。表示するページがFlaskの管轄になって以降は普通にブラウザでlocalhost:5000を開いても同じ。

というわけで自分も真似して作ってみた。
https://github.com/k5trismegistus/python-electron-sample

Python部分では何もしていないし、途中からbowerとかGruntとかフロントエンド系のツールの使い方のお勉強になってしまった。
これで出来たものをパッケージ化して配布するのは無理だと思うけど、個人用にユーティリティ(GUI必須)がほしい、でもPythonGUI扱うのは避けたい…という場合に使えそう。