Google Chrome の Native Client について

ブラウザ上からネイティブなコードを実行するにはNPAPIChromeではPPAPIというらしいが、それ以外の方法としてNative ClientというのがChromeベータ版で実装されたらしい。

通常のプラグインならプラグイン自体はあらかじめインストールされている必要があるのだが、これはWeb上から動的にロードされる雰囲気。サンプル(Examples - Native Client SDK - Google Code)を見てみてもまだ動かない感じなのでなんとも言えないが...

できること

Run native code modules that render 2D and 3D graphics, play audio, respond to mouse and keyboard events, run on multiple threads, and access memory directly - all without requiring the user to install a plugin.

2D,3Dの描画モジュールや音声再生、キーボードやマウスイベントへの反応、マルチスレッドで実行、メモリへの直アクセス - 全てをプラグインのインストールなしにできる。

セキュリティ

Installing a desktop app or a browser plugin can present serious security risks. Native Client uses a double sandbox designed to protect resources on the user's system. This framework offers the safety of traditional web apps in addition to native performance benefits.

デスクトップアプリやブラウザのプラグインをインストールすることは深刻なセキュリティリスクを伴います。Native Client はユーザのシステム上の資源を守るようにデザインされた2重のサンドボックスを使用しています。このフレームワークはこれまでのWebアプリの安全性と、加えてネイティブなパフォーマンスのメリットを提供します。

はてなブックマーク - GoogleがNative ClientをChrome 14に実装, いよいよ次世代Webアプリケーションが…のコメントにはActiveXと何が違うんだ?的なものが見受けられるが、それは違うように思う。ネイティブなコードとはいえ、できることはWebアプリからできることに制限されるのだろう。そうでないと困る。

用途

ということで、用途としては

  • JavaScriptじゃパフォーマンスが出ない
  • ソースは公開したくない

くらいじゃないかなあと予想。

なんていうか、ゲーム目的?

ただ、ねえ....。

オープンソースとして公開されているとはいえ、標準化されたものじゃないし、他のブラウザで実装されるかどうか分からない。Chrome専用Webアプリケーションって一体どれほどの価値があるのか...とは思う。