BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Google、PNaClのサポートを削除する

Google、PNaClのサポートを削除する

ブックマーク

原文(投稿日:2017/05/31)へのリンク

Googleは昨年、PNaCL/NaClチームを解散し、今年の3月にChromeへのWebAssemblyデフォルトサポートを追加したが、公式にWebAssemblyを支持してPNaClをリタイアさせることを発表した

PNaClはGoogle I/O 2013で発表された、ブラウザでネイティブコードを実行するためのGoogleによるソリューションだ。必要なのは全プラットフォーム用のLLVMビットコードだけで、Chromeが動いているプラットフォーム用のコードにブラウザが翻訳して実行する。PNaClはネイティブコードに近い実行性能を約束し、新旧のC/C++コードをブラウザでセキュアに実行することを可能にした。この技術は約束を守ったのだが、PNaClは他のブラウザベンダーに採用されることなく、開発者にもあまり受け入れられなかった。Google自身の言葉でいうと、PNaClの利用は「非推奨とするに十分なくらい低かった」。2018年Q1より、Chromeアプリおよび拡張機能を除き、ChromeはもはやPNaClをサポートしない。

その代わり、いまやGoogleはWebAssemblyをプッシュしている。WebAssemblyは成功する可能性が高まっている。Apple、Microsoft、Mozillaを含む主要なブラウザベンダーが受け入れているためだ。WebAssemblyというのは、ブラウザのためにネイティブアプリケーションをコンパイルするツールが対象とする、標準化されたバイナリフォーマットだ。CとC++をサポートし、Rustの初期サポートもある。まだガベージコレクタがなく、JavaやC#のような言語はサポートされていないが、それらは将来サポートされる可能性がある。

WebAssemblyの成功例として、Googleはブラウザ内ビデオエディタと、ブラウザ内のUnityエンジンで動くゲームを挙げた。

現在、ChromeとFirefoxはWebAssemblyをデフォルトでサポートしているが、EdgeとSafariは今のところプレビューモードだ。Chromeのロードマップには、非同期コンパイル、asm.js、IndexedDB、スレッド、SIMDなどのサポート追加が含まれている。WebAssembly Migration Guideでは、PNaCl機能が非推奨になって、代わりに何をどう使うべきかが紹介されている。

 
 

Rate this Article

Adoption Stage
Style
 

この記事に星をつける

おすすめ度
スタイル

BT