Google、Microsoft、Mozilla他が協力して、ウェブ用新バイナリーフォーマットWebAssemblyを公開

4466482623_cf7a5c483b_o

GoogleMicrosoftMozilla、および WebKitプロジェクトのエンジニアらは今日(米国時間6/17)、ウェブ用アプリケーションをコンパイルするための新しいバイナリーフォーマットWebAssemblyを共同開発したことを発表した。

ウェブは標準を糧に成長を果たし、そのプログラミング言語は、良くも悪くも、JavaScriptだ。数年来、デベロッパーがJavaScriptの限界をある程度回避できるようにと、他の言語からJavaScriptにコードを変換するコンパイラーを開発する取組みが数多くなされてきた。あるプロジェクトは言語に新たな機能を追加し(例えばMicrosoftのTypeScript)、あるいはJavaScriptをスピードアップした(Mozillaのasm.jsプロジェクト)。今、そうしたプロジェクトの多くが、WebAssemblyという形で団結しようとしている。

新フォーマットの狙いは、プログラマーがブラウザー用のコード(現在はC/C++が対象、他言語も続く予定)をコンパイルし、JavaScriptエンジンの中で動作できるようにすることだ。コード全体の構文解析(モバイルでは特に時間がかかる)が必要なくなり、WebAssemblyははるかに速くデコードすることかできる。

デベロッパーに単一のコンパイルターゲットを提供し、それが全ブラウザーで実装されたWeb標準となる、というのがWebAssemlyの考え方だ。

通常、JavaScriptファイルはサーバーからダウンロードされる単純なテキストファイルで、それをブラウザー内のJavaScriptエンジンが構文解析し実行する。WebAssemblyチームがバイナリー形式の採用を決めた理由は、標準のJavaScriptテキストファイル以上に圧縮が可能であり、エンジンがasm.jsコードを構文解析するよりバイナリー形式をデコードする方が圧倒的に速い(現在のプロトタイプで最大23倍)からだ。

Mozillaのasm.jsは、ウェブにネイティブ並みのスピードをもたらすことを長年目標としてきた。ブラウザーでネイティブコードを走らせるGoogleNative Clientプロジェクトも同様の目標を掲げていたが牽引力は比較的小さかった。WebAssemblyは、各プロジェクトの良いところをブラウザーにもたらすことができるかもしれない。

第一ステップとして、WebAssemblyチームはasm.jsとほぼ同じ機能を提供することを目指している(そしてデベロッパーは現在asm.jsコードのコンパイルに使用しているのと同じEmscriptenツールをWebAssemblyでも使うことができる)。

この初期段階に、チームはpolyfill libraryと呼ばれる、WebAssemblyコードをJavaScriptに変換してどんなブラウザーでも動くようにするツールも公開する計画だ ― WebAssemblyをサポートしていないブラウザーでも動くように(これはどう見ても少々不合理だが、全ブラウザーがこのコードをネイティブに動かせるようになれば不要になる)。また長期的には、その他のツール(コンパイラー、デバッガー等)も開発し、他の言語(Rust、Go、C#等)のサポートも追加する予定だ。

JavaScriptの発明者(かつ短期間Mozilla CEOだった)Brendan Eichが今日指摘したように、主要なブラウザーが新フォーマットをネイティブにサポートした時点で、JavaScriptとWebAssemblyは再び分化できるようになる。

そしてチームは、プロジェクトの狙いはJavaScriptを置き換えることではなく、もっと多くの言語をウェブ用にコンパイルできるようにすることだと念を押す。実際、JavaScriptとWebAssemblyが共存し、アプリケーションの一部がWebAssemblyモジュールを使い(アニメーション、ビジュアル化、圧縮等)、ユーザーインターフェースの殆どはJavaScriptで書かれたままという状態は十分考えられる。

主要ブラウザーのベンダーが全員揃ってこのようなプロジェクトで協力することは珍しいので、今後数ヵ月、数年先が大いに注目される。

[原文へ]

(翻訳:Nob Takahashi / facebook

投稿者:

TechCrunch Japan

TechCrunchは2005年にシリコンバレーでスタートし、スタートアップ企業の紹介やインターネットの新しいプロダクトのレビュー、そして業界の重要なニュースを扱うテクノロジーメディアとして成長してきました。現在、米国を始め、欧州、アジア地域のテクノロジー業界の話題をカバーしています。そして、米国では2010年9月に世界的なオンラインメディア企業のAOLの傘下となりその運営が続けられています。 日本では2006年6月から翻訳版となるTechCrunch Japanが産声を上げてスタートしています。その後、日本でのオリジナル記事の投稿やイベントなどを開催しています。なお、TechCrunch Japanも2011年4月1日より米国と同様に米AOLの日本法人AOLオンライン・ジャパンにより運営されています。