そらとぶけもの

こわくないよ

GUIアプリケーション作るフレームワークを調べる

この記事はくまが書いています。

ただのメモです。

最近はWebアプリが主流で、時点がスマホのアプリという印象があり、Windowsのデスクトップで動くソフトとか下火になってきてるようなきがします。とはいえ、ファイル操作とかPCローカルでやりたい作業はいまだに多く、最近だったらつよつよグラボを使ってゲームとか、AIでの画像生成とか、動画作成とか、それなりにWindowsPCで遊びのためにGUIアプリケーションを使う機会もないわけじゃないですね。ちょっとした自分用の便利ツールをGUIで作ろうと思ったとき、どんなフレームワークがあるんだろうと思ったので軽く調べてみました。

Electron

GitHub 作成のGUI作成フレームワークですね。言語はJavaScriptとHTML(CSS)。Nodejsの知識があればGUIアプリケーションが作れるのは大きいです。ただ、ブラウザのエンジンを同梱するのでファイルサイズが肥大化しがち、あとやはりネイティブに比べればどうしても動作が遅いといわれたりしてますね。

Qt

Qtも歴史の古いGUIフレームワークですね。言語はC++。言語自体に馴染みがあれば普通に使えると思いますが、いきなりC++はけっこうハードルが高そうですね。

WPF

MS謹製のフレームワークです。言語はC#。個人的には仕事でずっと使ってきたこともあり、ぼく自身は一番簡単にアプリが作れますが、じゃあ知らない人が一から勉強するのに進めるかと言えばちょっとおすすめしづらいです。まず環境つくるのがめんどくさい(実際はそんなにめんどくさいわけじゃないんですが、知見がないとハマりがち)。やりたいのはプログラムを作ることであって環境構築じゃないですからね。

JavaFx

言語はJavaです。Javaは業務系の言語やってる人なら使える人も多いので選択肢に入りそうですね。

Tkinter, PySimpleGUI, PyQt, wxPython, Kivy

Pythonは標準でもTkinterというフレームワークが入っているようです。ほかにもwxPythonとかKivyとかPySimpleGUIとかQtをPythonから扱えるようにしたPyQtもあり乱立してますね。Python自体は馴染みのあるひともおおいでしょうからそれはメリットですね。ただこんなに乱立してると選んだ技術が廃れてしまいそうなのが怖いです。