64
Chrome が「PNaCl」を廃止し、新しい「WebAssembly」標準を採用へ

Google は、ブラウザ内でネイティブ コードを実行するための Portable Native Client (PNaCl) ソリューションを、WebAssembly と呼ばれる新しいクロスブラウザ ウェブ標準に置き換えることを発表しました。

NaClとPNaCl

Googleは2011年にChrome OSを発表したのとほぼ同時期に、ブラウザ内でネイティブコードを実行するサンドボックス技術であるNative Client(NaCl)も発表しました。これは当初、インターネット接続を必要とするウェブアプリのみを実行する場合と比べて、Chrome OSをオフラインでもより便利に使えるようにすることを目的としていました。

2年後、GoogleはPNaClも発表しました。PNaClはNaClのより移植性の高いバージョンで、ARM、MIPS、x86デバイスで動作しました。一方、NaClはx86チップでしか動作しませんでした。

GoogleはChromiumプロジェクトの一環としてPNaClをオープンソース化しましたが、Mozillaは最終的に「asm.js」と呼ばれる独自の代替言語を開発しました。これはJavaScriptの最適化されたサブセットであり、アセンブリ言語にもコンパイルできます。Mozillaは、asm.jsの方が実装がはるかに簡単で、PNaClのようにAPI互換性を必要としないと考えました。

これらのプロジェクトは行き詰まり、誰もが独自の標準を推進していたため、主要なブラウザベンダーは最終的に WebAssembly を作成することを決定したようです。

Webアセンブリ

WebAssemblyは、ウェブアプリにネイティブに近いパフォーマンスを提供し、より多くのCPU機能をサポートし、ブラウザへの実装と開発者による使用が簡素化されます。Chrome 57とFirefox 52はすでにWebAssemblyをサポートしており、Microsoft EdgeとApple Safariもブラウザのプレビュー版でサポートしています。

Googleは、今後ネイティブコード開発ではWebAssemblyの使用に重点を置くと発表しました。一方、PNaClは2018年第1四半期末までに廃止されます。Chromeアプリと拡張機能は、しばらくの間PNaClのサポートを継続します。ただし、Chromeは以前にもChromeアプリの廃止を発表しています。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

Google は、アプリを PNaCl から WebAssembly に移植したい開発者向けの推奨事項のリストと、 Chrome の将来のバージョンでサポートされる予定の WebAssembly 機能のロードマップを公開しました。