ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

GolangでWebAssembly(wasm)を実行するチュートリアルをやってみた

はじめに

GolangでWebAssembly(wasm)を実行する手順を紹介した
Go and wasm: generating and executing wasm with Go GopherAcademy
をやってみました。

元々は「wasmとは何ぞや?」と思ったことからやってみたのですが
この記事の中でも説明されていました。

wasmやそれを使った簡単なアプリを作ってみるチュートリアル形式となっているのですが
その内容を紹介したいと思います。

記事の目次、学べること

以下のことについて扱われています。

  • WebAssemblyについての解説
    • WebAssemblyの略称が「wasm」であること、.wasm形式のファイルがコンパイルした結果の実行ファイルであることなどが書かれている。
  • .wasm形式のファイルを解析するGolangのツール「wagon」を使っての解析
  • 「wasm-run」を使って.wasm形式のファイルを実行してみる
  • 項目名「Executing wasm in the browser」
    • ここはwasmモジュールを返す簡単なWebアプリを作る項目です。
    • この項目は実行結果がメインで書かれているのですが、実行結果が表してることについて簡単に解説します。
      • 作成したWebアプリの結果の画面を見ると、wasmのバイナリは「add」というメソッドがあることが分かる。
      • この「add」メソッドを、HTML内の(JavaScriptメソッド)window.onload()にて「instance.exports.add(1, 2)」として呼び出して、結果を表示している。
  • 項目名「Generating wasm」
    • .wasm形式のファイルをGolangコンパイルして作成する手順と、その実行手順の紹介

まとめ

wasmとは何かから始まり、wasmを使ったWebアプリの作成、wasmファイルの作成と、順を追ってできるチュートリアルでした。
私のように「wasmとは何ぞや?」から始める人にとって、良い記事だと思います。

以下、私が今回「Executing wasm in the browser」の項目をやってみたソースです。
HTMLファイルをテンプレート化したり、起動パラメータのport番号などを改変してあります。
GitHub - SrcHndWng/go-learning-wasm