非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Go言語/gotronで独自のUI(index.html)を使用する

   

前回、Go言語でElectronを利用するためのgotronというライブラリの導入方法について書きました。

前回は以下のようにあくまでウィンドウを出現させるのみでした(デベロッパーツールを立ち上げている状態ですが)。このサンプルソースをいじってもいいのですが、隠しフォルダ内にある等、編集していくのは微妙なので、新たに独自のHTML(index.html)にアクセスできるようにしたいと思います。

 

準備

あらかじめ準備するものとして、Go言語のソースファイルと同じフォルダ内に任意の名前のフォルダを作り、その中にindex.htmlという名前のHTMLファイルを作成します。フォルダ名はappsとしました。

 

index.htmlの中身はHTMLであればなんでもいいのですが、とりあえず以下のようにしました。VSCodeで!を入力すると出てくるソースにH1タグでHello Worldと入れたのみです。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=<device-width>, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>
 

 

Go言語側の処理

Go言語側のソースは前回のものに手を加えます。browser window instanceを生成する際のNewメソッドの引数に先程作ったフォルダ名を入れるだけです。コメントアウトしている行が前回のコードでその下が今回修正後のコードになります。

package main

import (
    "github.com/Equanox/gotron"
)

func main() {
    // browser window instanceを生成する
    // window, err := gotron.New()
    window, err := gotron.New("apps") // 今回
    if err != nil {
        panic(err)
    }
    
    window.WindowOptions.Width = 800
    window.WindowOptions.Height = 600
    window.WindowOptions.Title = "Gotron"

    done, err := window.Start()
    if err != nil {
        panic(err)
    }

    <-done
}
 

 

実行するとご覧の通り自分で作ったindex.htmlが表示されました。今後はappsフォルダ内で開発していけばいいってわけですね。ちなみにgo buildで実行ファイル作っても同じ結果になります。Electronよりgotronの方が手続き的には楽になりますね。

 

スポンサーリンク

 - Electron, Go言語