lorca
https://raw.githubusercontent.com/zserge/lorca/master/lorca.png
Web技術をベースとしたクロスプラットフォームなデスクトップアプリケーションのフレームワーク。Go製。 名前の由来は carlo という GoogleChromeLabs が実験的に作ったフレームワークのアナグラム 今はもうメンテされていない。
デモとしてCounterが用意されている。
参考までにビルドしたファイルサイズは 6.7MBであった。
Electron であれば Chromium が入ってきてしまうのでどうしても 150MB は必要になるが、それと比較するとかなり小さい。
画面の描画はWebViewアプリのそれと同じなので、React や Vue など好きなフロントエンドライブラリを使用して画面を構成できる。 逆を言うと、半透明パネルを使ったりするみたいな、OSネイティブな見た目にこだわる場合は用途としては合わない。
実行時に、HTTPサーバーを起動してそこから得られるアセットをWebViewとして表示するような形で動いている。
一応起動しているHTTPサーバーのポートを拾い上げてブラウザで開くこともできるが、lorca でフロントエンドとバックエンドを変数でやり取りできるようにバインドしてある処理は実行できない。
画面を構成するフロントエンドのアセットは、go:embed という go 1.16 から標準化された機能で、単一の実行ファイルにパッケージングでき、使用できるようになっている。 サンプルアプリのスクリーンショット
https://gyazo.com/58f16874da541c873e112365299311c9