ウェブの大部分がまだ「asm.js」の効用を経験できていないというのに、Microsoft、Google、Mozillaのエンジニアたちからなるグループは、早くもその後継となるバイナリフォーマット「WebAssembly」を計画している。
新しいバイナリフォーマットを開発するのは、JavaScriptの実行において構文解析ツールがボトルネックとなっている問題に対処するためだ。
「asm.jsはすばらしい。ただ、各エンジンがそれに適応すると今度は構文解析ツールが足手まといになり、モバイル機器では特に時間を食ってしまう。伝送時の圧縮は必要で帯域幅の節減になるが、構文解析の前の展開が負担になる」と、JavaScriptの生みの親で短期間ながらMozillaの最高経営責任者(CEO)にも就任したBrendan Eich氏は、WebAssemblyについて発表したブログ投稿で述べている。
「予見できる将来においてJS(JavaScript)がなくなることはない。wasm(WebAssembly)はJSを、2人の主人に仕えるという重荷から救うはずだ。これは両方にとって有益なプランだ」(Brendan Eich氏)
WebAssemblyのFAQによると、開発中のバイナリフォーマットはネイティブにデコード可能で、速度はJavaScriptの構文解析より20倍以上も速いという。
WebAssemblyは当面、これを実行するためにポリフィルを介してJavaScriptに変換され、CおよびC++のみを対象とする。そして、実用最小限の製品(MVP)が作られた段階で他の言語とコンパイラのサポートが追加され、JavaScriptやasm.jsの限界を超えた機能も追加できるようになるものと予想されている。
WebAssemblyチームはこのフォーマットに関するユースケースのリストを示しており、そこにはウェブブラウザの域を超えた将来的な用途も含まれている。
WebAssemblyはバイナリフォーマットだが、ユーザーがそれぞれのブラウザでウェブページのソースを閲覧するときにwasmのコードを読めるようにするため、テキストフォーマットも用意される。
「要点はこうだ。JSとwasmが共に進化していくことで、2、3年以内にはすべての主要なブラウザが、本当の意味で多言語対応の仮想マシンになったJSエンジンを備えるだろう」と、Eich氏は言う。「それと同じ期間にわたってJSは持ちこたえ、より多くのAPIとハードウェアベースのアフォーダンスを取り入れるように進化するが、そうした負担の一部をwasmが受け持つことになると予想している」
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス