世の中的にJavaScriptへの注目が集まっています。そのためWebブラウザは基本として、JavaScriptに手をつけないわけにはいかない状態と言えます。しかしJavaScriptは触りたくないという方も多いのではないでしょうか。 CoffeeScript/TypeScriptといった代替言語もありますが、どうせなら自分が好みとしているプログラミング言語を使いたいと思うでしょう。そこでGo好きの方に使ってみて欲しいのがGopherJSです。

GopherJSの使い方

GopherJSを使って document.write("Hello world!") を記述すると次のようになります。

js.Global.Get("document").Call("write", "Hello world!")

なんとなくJavaScriptらしさが残りつつも、実際にはGoで書くことができます。importは使えないようですが、それが以外のGoの構文はサポートされています。さらにDOM操作やjQuery、AngularJSもGopherJSを使って書くことができるようです。

イベントを使う場合は例えばこんな感じになります。

js.Global.Get("myButton").Call("addEventListener", "click", func() {
  go func() {
    [...]
    someBlockingFunction()
    [...]
  }()
})

プレイグラウンドも用意されており、Webブラウザ上でコードを実行できます。

GopherJSを使って、Goを使ってWebアプリケーションを作ってみてはいかがでしょう。

GopherJSはGo製、2-clause BSD lisenceのオープンソース・ソフトウェアです。

via GopherJSの紹介 - GolangRdyJp GopherJS - Home gopherjs/gopherjs