MozillaがWebAssemblyに向けたツールチェインの取り組み「Binaryen」を明らかに

 Mozillaの開発者は12月17日、Webブラウザ上で実行できるバイナリコードフォーマット「WebAssembly」に向けたツールチェイン側の取り組みを明らかにした。コンパイラインフラとツールチェインライブラリのプロジェクトとして「Binaryen」を立ち上げ、それまでの成果を公開している。

 WebAssemblyはWebブラウザ上で実行できるバイナリコードフォーマット。さまざまなWebブラウザで実行でき、移植性があり読み込み時間が高速で容量効率が高いフォーマットを目指すとしている。これを利用することで、Webブラウザ上で高速に実行できるアプリケーションを開発・提供できる。現在主要なWebブラウザベンダー間で設計や実装が進んでいる段階で、Webの標準化団体World Wide Web Consortium(W3C)内で作業グループWebAssembly Community Groupが立ち上がっている。

 Mozillaが明らかにしたBinaryenは、WebAssemblyのツールチェインのためのプロジェクトとなる。C++で作成されたコンパイラインフラストラクチャとツールチェインライブラリから構成されており、WebAssemblyモジュールをロードできる「Binaryen shell」や「asm.js」技術を使って実装されたコードをWebAssemblyにコンパイルする「asm2wasm」、その逆の処理を行う「wasm2asm」、LLVMで開発されているWebAssemblyバックエンドが出力する「.s」形式コードをWebAssemblyにコンパイルする「s2wasm」、BinaryenのJaVaScriptポートである「wasm.js」などを含んでいる。

 これらとC/C++コードをasm.jsコードに変換する「Emscripten」といったツールを組み合わせることで、C/C++コードをWebAssemblyに変換できるという。なお、WebAssemblyはまだ設計段階であり、Binaryernが読み書きできるフォーマットは今後変更する可能性があると警告している。

 BinaryenはGitHub上で公開されており、ライセンスはApache License 2。

Binaryen
https://github.com/WebAssembly/binaryen