@ledsun blog

無味の味は佳境に入らざればすなわち知れず

WebAssembly用語集

ruby.wasmのソースコードを読んでいるとWebAssemblyに関する用語が出てきます。用語を間違って読みとるとソースコードも間違って読んでしまいます。ソースコードを読むのに無駄に時間がかかります。そういうわけで、ソースコードを読みながら調べた用語をここにまとめておきます。

キーワード 説明 追加情報
WebAssembly Webブラウザで実行できるバイナリコードの仕様
wasm WebAssemblyの略称。Webのwとアセンブリのasmをくっつけたもの。「わずむ」と発音します。
BytecodeAlliance Moziilaが中心になって立ち上げたWebAssemblyの仕様を決める団体。Fastly、IntelRed Hatも参加しています。 詳細 
WASI WebAssembly System Interfaceというインターフェース仕様。「わじ」と読みます。WebAssemblyからホストの機能を呼び出すときのインターフェース。BytecodeAllianceで決めています。 詳細
wasmtime WebAssemblyをWebブラウザ以外で実行するランタイム。BytecodeAllianceが作っています。 詳細
wasmer WebAssemblyをWebブラウザ以外で実行するランタイムとそれを作っている会社 詳細
WASIX wasmerが提唱するWASIの拡張。スレッドとかソケットを使えるようにしたいみたい。BytecodeAllianceとは独立した動きです。 詳細
Emscripten WebAssemblyが考えられるずっと前から、C/C++ソースコードWebブラウザで実行しようとするプロジェクトとそのためのコンパイラ。WebAssemblyが生み出されるきっかけになりました。いまはWebAssemblyを生成するコンパイラの一つです。 詳細
WIT Wasm Interface Type の略。WebAssemblyとホストの間のインタフェースを定義するためのIDL 詳細
wit-bindgen WITからバインディング(ホストとゲストのメソッドを呼び出すコード)を生成します。bytecodeallianceが作っています。 詳細
ABI Application Binary Interface の略。バイナリ間でお互いに呼び出せるためのインターフェース。WebAssemblyに関わらずあるプログラミング言語から他のプログラミング言語を呼ぶときに使う用語です。同一のプログラミング言語内でAPIというところをプログラミング言語を跨ぐとABIという感じです。