WebAssemblyがW3Cの勧告に到達。「WebAssembly Core Specification 」「WebAssembly Web API」「WebAssembly JavaScript Interface 」の3つ
W3Cの WebAssembly Working Groupは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマット「WebAssembly」の仕様が勧告に到達したことを発表しました。
今回勧告になったのは、WebAssemblyに関連する3つの仕様です。
1つ目はWebAssemblyのバイナリファイルを実行する仮想マシンの仕様を定義した「WebAssembly Core Specification」。これは一般的なマイクロプロセッサの動作を模倣するような作りにすることで、WebAssemblyのバイナリファイルでプロセッサのネイティブコードに近い実行速度を実現するようになっています。
2つ目の「WebAssembly Web API」は、さまざまなプラットフォームでWebAssemblyを利用可能にするため、WebAssemblyバイナリファイルのシリアライゼーションやコンパイル、実行などについて説明しています。
3つ目の「WebAssembly JavaScript Interface」は、JavaScriptがWebAssemblyとやり取りするためのAPIを定義したものです。
WebAssemblyはChrome、Firefox、Microsoft Edge、Safariの主要なWebブラウザ開発チームなど集まって2015年に開発を開始。同時にW3Cに「WebAssembly Community Group」を設立し、標準化作業についてはW3Cの下で行われてきました。
- 主要ブラウザで実行可能なバイナリ形式「WebAssembly」の開発がスタート。Chrome、WebKit、Firefox、Microsoft Edge、LLVM、Unityらがサポートを相次いで表明
そして2017年11月には主要なWebブラウザすべてで対応が開始されたため、すでに実行環境は整っていました。
W3Cの勧告は、仕様に基づいた複数の実装が実際に提供されることが条件となるため、今回のWebAssemblyの勧告は、この仕様が一定の品質で実装できる品質に到達したことを示すものといえます。
WebAssemblyは今後もマルチスレッディングやSIMD対応、例外ハンドリング、ガベージコレクション、JavaScriptからWebAssemblyファイルをES6モジュールとしてロードし実行する機能など、多くの機能追加が続けられることになっています。
参考
あわせて読みたい
Webで縦書きなどを実現する「CSS Writing Modes Level 3」、ついにW3Cの「勧告」に
≪前の記事
Windowsデスクトップアプリ開発にも対応した「.NET Core 3.1」が正式リリース。LTS版として3年間の長期サポート対象