BT

InfoQ ホームページ ニュース PNaCl: GoogleがLLVMを介してChromeにネイティブサポートを更に追加

PNaCl: GoogleがLLVMを介してChromeにネイティブサポートを更に追加

Lire ce contenu en français

ブックマーク

原文(投稿日:2013/05/18)へのリンク

Googleは、ChromeにLLVMのビットコードを走らせることでChromeにおけるネイティブアプリケーションのサポートを広げている。

Googleは、引き続きChromeでネイティブアプリケーションを走らせることを推し進めており、 予期された PNaClすなわち Portable NaCl - ‘pinnacle’と読む、をGoogle I/O 2013で発表した。 PNaClのツールチェーンは変則的である。C/C++アプリケーションを各ターゲットのハードウェアプラットフォーム向けにコンパイルするのではなく、開発者は、1つのLLVMビットコードを生成する必要がある。このビットコードがあらゆるChrome クライアントにロードされ、ネイティブコードに翻訳され、検証され、ローカルに実行される。

現在、PNaCl は、32-bit x86, 64-bit x86, ARM用のChrome 29 でサポートされている。クライアントは、あらゆるウェブページ上でネイティブモジュールを走らせることができる。 – それらをChrome Web Store用のアプリにパッケージ化する必要はない。 –それが完全にリリースされる時には。PNaCl モジュールは再コンパイル無しで将来のアーキテクチャ上で走らせることができる。もっと面白いのが現在サポートされている言語は、C/C++のみであるが、 PNaCl モジュールは理論的にどんな言語で書かれていてもLLVM ビットコードにコンパイルできる。たとえば、ActionScript, Ada, D, Fortran, Haskell, Javaバイトコード, Objective-C, Python, Ruby, Rust, Scala 、C# などの言語を使って、最低限の調整、あるいは全くの調整なしで、広範囲のレガシーそして新しいアプリをChromeで走らせることができる。

PNaCl は、2010年に4人のGoogleエンジニアによって提案された(PDF)。著者たちが実現しようとしている構想が以下である。

  • ISA中立なフォーマットを提供し、コンパイルされたモジュールはソースコードからの再コンパイル無しで多種多様なターゲットプラットフォームをサポートする。
  • NaCl開発者がポータブルな実行モジュールをビルド、テスト、デプロイするのを簡単にする。
  • 当初、 x86-32, x86-64、ARM 命令セットをサポートし、将来他の人気のあるCPUをサポートするのを容易にする。
  • ネイティブクライアントのセキュリティとパフォーマンス特性を維持する。

PNaCl は、元々のNaClサンドボックスメカニズムを尚使っているので、以下のグラフが示すように翻訳されたビットコードを走らせているときは、セキュリティを強いる。

PNaCl ツールチェーンは、 Windows, Mac, Linuxで動き、SDKは、プロジェクトのウェブサイトから入手できる。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。