Googleは、「Native Client SDK」の最初のバージョンをリリースし、重大なマイルストンを達成した。Native Clientとは、ウェブベースアプリケーションが、ユーザーのコンピュータチップにアクセスできるようにするためのソフトウェア基盤である。
「Arctic Sea」と呼ばれる同ソフトウェアは、Googleが米国時間2月17日にベータテストを開始した「Chrome 10」以上で利用できる。同社の製品マネージャーを務めるChristian Stefansen氏は18日付けのブログ投稿で、同リリースについて、「今回のリリースの大きな目標は、開発者らが、Chromeアプリケーション向けのNative Clientモジュールの開発を開始できるようにすることである」と述べた。
Native Client(NaCl)は、ウェブ上でユーザーがソフトウェアをダウンロードできるようにする際の課題をこれまでとは異なる手法で解決しようとするものである。今日のウェブアプリケーションには、JavaScriptが使用される場合が多い。JavaScriptは、ますます強化が図られているものの、SkypeやPhotoshopといったコンピュータ上でネイティブに動作するものと比較すると、やはりプログラムのパフォーマンスに制約を与えてしまう。
GoogleのNaClプロジェクトでは、このようなネイティブソフトウェアをウェブサーバから直接ダウンロードできるが、悪意のあるコードを遮断するセキュリティの仕組みもきちんと備えている。NaClモジュールは、害を及ぼすおそれのある命令の使用を制限するため、特別に改良されたツールを使って作成せねばならず、ブラウザは事前にソフトウェアを調べて、安全な操作だけを実行する。NaClはまた、特権の限られた「サンドボックス」にソフトウェアを隔離する。
NaClを使用すると、C言語で書かれたコードライブラリを、比較的簡単にブラウザベースのアプリケーションに対応させることが可能になるかもしれない。これにより、たとえば「Skype」が動画や音声の圧縮や伸張に使用しているコーデックや、「Adobe Photoshop」の画像処理で使われているプロセッサ負荷の大きなタスクを、ウェブアプリケーションに組み込むことががこれまでよりも容易になる可能性がある。NaClへの取り組みを進めている企業の1つがUnity Technologiesだ。同社のビデオゲーム用エンジンは、物理シミュレーションなどにNaClを利用している。
では、なぜNaClが重要なのだろうか?それは、Googleがクラウドコンピューティングの力を強く信じているからだ。クラウドコンピューティングでは、アプリケーション本体をインターネット上の中央サーバに格納し、ブラウザがアプリケーションを実行するための器として動作する。NaClにより、通常のネイティブアプリケーションと比べてもわずか数%差というところまでウェブアプリケーションの処理を高速化でき、クラウドコンピューティング技術に対する大きな障害を取り除くことができるとGoogleは考えている。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス