WebAssemblyを使うことでWebアプリケーションを高速に実行できるようになります。RustはDOMやネットワークを扱うのが困難ですが、Go1.11以降では対応しています。これによってWebAssemblyを使ったWebアプリケーションの可能性が大きく飛躍しました。 そんなGoでJavaScriptを実行できる環境を作り、WebAssemblyにしたのがGo wasmです。

Go wasmの使い方

コードを書いていくと、それを自動的に評価してくれます。

ちゃんと関数も実行されます。

関数の上書きもされます。

if文も使えます。returnはしなくとも最後に評価された変数が表示されます。Rubyに近い形です。

Go wasmはJavaScriptを実行します。実行はWebAssemblyの中にあるJavaScript実行エンジンなので、セキュリティ上安全と言えるかも知れません。もちろんDOMなどには触れないと思いますが、安全にコードが実行できるというのは使いどころがありそうです。

Go wasmはGo製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

Go wasm donatj/gojs: Run JavaScript in Go in WASM in the Browser