Edited at

WebAssemblyの知識を体系化しようとする試み

WebAssembly Advent Calendar 2018というものを作ったのですが、誰も書いてくれないようです。悲しい。

と言っていても始まらないので、自分の知っている知識をまとめて体系化してみようかと思います。現時点での目次は次の通りです。日々変更されると思います。


  • ハイレベルな紹介

  • 目的別利用例の紹介


    • ブラウザ上で動かすプログラムの高速化

    • 既存ソフトウェア資産を利用したWebコンテンツの作成

    • デュプロイ時のトラブルを避けるため



  • wasmファイルの構造(ハイレベルな紹介)

  • JavaScript API


    • Web embedded API

    • Stream compile




  • クロスコンパイル


    • C/C++の場合:emscriptenを使うケース

    • C/C++の場合:clangとlddを使うケース

    • Rustの場合



  • WebAssembly deep dive


    • スタックマシン

    • 簡単な関数定義の例

    • コントロールフロー

    • メモリモデル

    • メモリ操作



  • WASMに出力するなんちゃってコンパイラーの作成

ぼちぼちやっていくので、長い目で見てやってください。