go-astilectron - GoとHTML/JavaScriptでデスクトップアプリを開発
Electronの便利なところはWebブラウザ上で使われているJavaScriptからnodeのコードをシームレスに呼び出せることです。それによってローカルコンピュータの操作をさもWebブラウザ上からできているかのように使えます。 そんなローカル側のコードをnodeではなくGoでできるようにしたのがgo-astilectronになります。
go-astilectronの使い方
go-astilectronでは初期化が終わった際のイベントが astilectron-ready になります。
document.addEventListener('astilectron-ready', function() {
// Listen
index.listen();
// Explore default path
index.explore();
})
そしてGo側のコードとはメッセージオブジェクトを使ってやり取りできます。
listen: function() {
astilectron.onMessage(function(message) {
switch (message.name) {
case "about":
index.about(message.payload);
return {payload: "payload"};
break;
case "check.out.menu":
asticode.notifier.info(message.payload);
break;
}
});
}
こちらはデモで、ローカルのファイル一覧を取得しています。
メニューにも対応しています。
フォルダを辿ることもできます。つまりWeb側で選ばれたフォルダの情報がGo側に送信されているということです。
go-astilectronはGoとHTML/JavaScriptでGUIアプリケーションを作れるフレームワークです。GoとJavaScriptという二つの言語を使うことになりますが、役割がきちんと分かれるのでElectronにおいてよくある、ローカル側とWebブラウザ側のどちらで動いているのかといった混乱はないかも知れません。
go-astilectronはGo製のオープンソース・ソフトウェア(MIT License)です。
asticode/go-astilectron: Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron)