WebAssemblyに関わるブラウザベンダが初期実装について"合意"に達した。これによってブラウザはデフォルトでWebAssemblyを同梱できる。
2016年11月、WebAssemblyはブラウザプレビューの段階に達した。この段階で主要なブラウザではフラグを有効にすればテストできた。その後の数ヶ月、ブラウザベンダは改善を続け、JavaScript APIとバイナリフォーマットについて合意に達した。発表の記事では、WebAssemblyの世界に一区切りつけている。
[ブラウザベンダは]初期のWebAssemblyのAPIとバイナリフォーマットの設計が完了し、これ以上の設計は実装の経験と重要な利用がなければ不可能である、ということに合意しました。
これはブラウザプレビューが終わったということであり、ブラウザはデフォルトでWebAssemblyを同梱できるということを意味します。これ以後、未来の機能は後方互換性 を保証するように設計されます。
これは重要なマイルストンだ。しかし、この初期実装によって開発者はすぐに大きな便益を享受できるわけではない。大きな可能性を秘めているものの、現時点ではC/C++しかサポートされておらず、Rustが早期サポートを受けているだけだ。ガベージコレクタも提供されないので、C#やJavaのような言語は、ランタイム自体をバイナリ化して同梱しない限り動かせない。しかし、将来はガベージコレクションを追加する、という議論がされている。
また、現時点ではWebAssemblyはDOMの操作のような重要な機能が欠けている。MozillaのエンジニアであるLin Clark氏は、"多くの機能が期待されている"が、これらの機能は"仕様化するプロセスを踏まなければならない"。WebAssembly Community Groupはすでに新しいW3C Working Groupが動けるように未来の機能を一覧にしている。これらの機能がいつ実現されるのかはわからない。
一連の記事の中で、Clark氏は何がWebAssemblyを高速にしているのか、そして、WebAssemblyの登場が"変曲点"となり、新しい課題に取り組むことができるような高速化と機能が生まれるのではないか、と書いている。
今後、ブラウザベンダはJavaScriptとWebAssemblyのインタラクションを改善し続け、JITコンパイラの高速化も継続的に行う。
Firefox 52では、WebAssemblyが有効になっている。3月14日にリリースされたChromeのバージョン57でもデフォルトで有効になっている。
Rate this Article
- Editor Review
- Chief Editor Action