BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース WebAssemblyプレビュー機能が各ブラウザで提供される

WebAssemblyプレビュー機能が各ブラウザで提供される

原文(投稿日:2016/03/16)へのリンク

共同発表においてMicrosoft, Google, Mozillaは、それぞれのブラウザでWebAssembly機能を公表するブログ投稿を公開した。

このコラボレーションはWebAssemblyバイナリフォーマットの標準化に必要なステップであることを表している。各ベンダーは、フォーマットと方向性についてよりよい議論をすることになる。

ベンダーのWebAssemblyは彼らのasm.js実装の上で動作する。asm.jsと同様に、WebAssemblyは"メモリセーフ、サンドボックス実行環境"を提供する。asm.jsとは違い、同等のWebAssemblyバイナリははるかに小さく、JavaScriptを解析する必要がなくなる。ブラウザはバイナリ表現をネイティブに解析でき、はるかに高速である。 Fluent 2016 ConferenceキーノートにおいてBrendan Eich氏は、"JavaScriptにはできない安全で、高速な、自己検証コードであり、ある時点でWebAssemblyは、安全で、Webのためのネイティブフォーマットになる。"と説明した。

GoogleのV8の発表でSeth Thompson氏は以下のように話した:

V8のWebAssembly実装は、既存のJavaScript仮想マシンインフラストラクチャ、特にTurboFanコンパイラを再利用するように設計されている。デコーダーは、様々な最適化パスで処理されるTurboFanグラフを生成して、最終的には、最適化されたJavaScriptとasm.jsのために生成されたマシンコードと同じバックエンドによってマシンコードに変換される。

MozillaキャンプからWebAssembly W3C Community Groupの議長であるLuke Wagner氏は言う:

Firefoxでは、WebWebAssemblyのバイナリーフォーマットに使うために、asm.jsコード表現をメイン構文解析スレッドからバックグラウンドコンパイラスレッドに送信する既存のasm.js最適化パイプラインをリファクタリングした。

WebAssemblyアプリのデモとして、Edge内部のゲームプレイのビデオがhttp://webassembly.github.io/demo/下で提供されている:

実験的な機能を有効にするには:

  • Chrome: Canary 51.0.2677.0以上でchrome://flags#enable-webassemblyフラグを有効にする
  • Firefox: 最新のナイトリービルドでjavascript.options.wasmtrueにセットする

EdgeはWebAssemblyをサポートするが現時点ではMicrosoft内部ビルドのみであり、WebKitの実装はまだ開発中である。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT