Web技術を使ってデスクトップアプリケーションを作る技術としてElectronが知られています。Electronで利用するのはnode/JavaScriptですが、別な言語使う技術も存在します。 今回紹介するlorcaはGoを使ってデスクトップアプリを作ります。UIこそHTML5ですが、大きな可能性を秘めた存在と言えそうです。

lorcaの使い方

lorcaのコードです。

$ cat main.go 
package main

import (
	"net/url"
	"github.com/zserge/lorca"
)

func main() {
	// Create UI with basic HTML passed via data URI
	ui, _ := lorca.New("data:text/html,"+url.PathEscape(`
	<html>
		<head><title>Hello</title></head>
		<body><h1>Hello, world!</h1></body>
	</html>
	`), "", 480, 320)
	defer ui.Close()
	// Wait until UI window is closed
	<-ui.Done()
}

後は実行するだけです。Goのコードの中にHTML5を入れ込むことができます。テンプレートを使えばもっと簡単になるでしょう。WebKitをレンダリングエンジンに使っていますが、内包はしないのでアプリケーションサイズは小さめです。

lorcaはGo製のオープンソース・ソフトウェア(MIT License)です。

zserge/lorca: Build cross-platform modern desktop apps in Go + HTML5