Go言語でElectronアプリを作れるgotronを導入した!
2021/02/13
Go言語でどうにかしてGUIアプリを作ろうと模索してきた中でFyneやGTKを試してきましたが、ウィジェットが貧弱だったり他のプラットホームで使うにはちょっとハードル高いという印象です(その点、Windowsの.NETはうまくできているなー)。そんな中、Go言語でElectronを利用するためのgotronというライブラリがあると聞いて早速導入してみました。Electronであればウィジェットは豊富だしクロスプラットホーム対応なので期待したいところです。
まずはgotronをインストール
以下のコマンドでgotronをインストールします。
$ go get github.com/Equanox/gotron
libgconf-2-4パッケージが必要になるようなので、もしなければあらかじめインストールした方が良いでしょう。
$ sudo apt-get install libgconf-2-4
libgconf-2-4パッケージが存在しないと、後になって(go run 実行時に)こんな風に怒られますので。
ソースコード
ソースコードは、まずは最初はここに掲載されているサンプルプログラムで良いかと思います。これを任意のファイル名(僕はgotron01.go)で保存します。
package main
import (
"github.com/Equanox/gotron"
)
func main() {
// Create a new browser window instance
window, err := gotron.New()
if err != nil {
panic(err)
}
// Alter default window size and window title.
window.WindowOptions.Width = 1200
window.WindowOptions.Height = 980
window.WindowOptions.Title = "Gotron"
// Start the browser window.
// This will establish a golang <=> nodejs bridge using websockets,
// to control ElectronBrowserWindow with our window object.
done, err := window.Start()
if err != nil {
panic(err)
}
// Open dev tools must be used after window.Start
window.OpenDevTools()
// Wait for the application to close
<-done
}
実行
以下のコマンドで実行します。
$ go run gotron01.go
実行すると以下のようにElectronパッケージのインストールが始まります。一発目はその分時間がかかります。
しばらくすると、以下のようなウィンドウが起動します。これが起動すれば成功です。
スポンサーリンク


