はじめに
まだ、作品を作れていないので
なぜ、Flaskだけ、Electronだけを用いらないのかを紹介します。
なぜ Flask と Electron
以下の画像のように、プロセス間通信(ICP)を行う上でWebサーバーを使用してデスクトップGUIアプリケーションにバンドルすることで画面とサーバーが独立し操作でき、エンドポイントを変更する必要もなくなるので便利です。
ここでWebサーバーはFlaskを、デスクトップGUIアプリケーションにElectronを選んだ理由を解説します。
Webサーバー:Flask
Pythonを使うという前提で話します。
WebフレームワークでWSGIであることです。有名どころでいうとFlask・bottleが挙げられます。
WSGIとは、PythonでWebサーバーとWebアプリケーションを接続するためのインタフェースを定義することを指します。
Dnagoを勉強してる自分にはFlaskの学習コストがそんなに高くなかったことが大きいです。後は、Bottleには速度は速いものの「速い=構成が小さい」であるため、あまりにも小規模しか対応できない点で今回は外しました。
GUIアプリ:Electron
Electron は GitHubが開発した現在で8年続いているAtom というテキストエディタでも使われている安定したソフトウェアフレームワークです。
そのため、長く続いている分ドキュメントもしっかりしており、色々な人が試しているので学習コストが低いため、選定しました。
まとめ
なぜこの構成にしたかを解説しました。
こういう構成を組む時、何を基準にすればよいか参考にはなったでしょうか。
まだ、作品を作り終えてないので、次回はElelctronとFlaskの最小構成しか説明していなかったので、構成の見直しをしたいと思います。
それでは、また次回をお楽しみに。。