Googleが「Native Client」を発表

 これはJavaScriptを超えるものになるのだろうか。GoogleがWebアプリから、x86クライアント側でネイティブコードを実行できるオープンソースの技術を公開したという。

Google、Webアプリでx86ネイティブコードを動作させる「Native Client」発表(ITmedia)
「Firefox 3.1」ベータ2、JavaScript実行テスト結果が...(CNET Japan)

 簡単な話、サーバーへの要求を出すと応答として、クラアント側でネイティブに実行させるコードが返ってくるということだろうか。従来であればJavaScriptはともかくとして、サーバー側のバックグラウンドで実行させることは考えられたが、これは逆のことになる。ただネイティブな実行ファイルだと、ネット上からEXEファイルをダウンロードすることを連想してしまい、セキュリティ的には危険のような先入観がある。


 個人的にはPHPでクライアントからの入力をデータとして、サーバー側でLinuxのコマンドを実行させてその結果をファイルに書き出したものをWebでクライアントに返すというスクリプトを書いたことはある。Web化されていない、コマンドで実行可能なデスクトップアプリをいちいちクライアントにインストールしなくても実行できるという、いわば擬似Webアプリにしたわけである。LANや複数マシンの間のやりとりには使えると思った。もちろんセキュリティなどを心配しなければならないので、公開はしていない。


 ネイティブコードをクライアントで実行させるからには、一般の実行ファイルを送ってはダメだろう。プラグインコンパイラツールをブラウザにインストールしておく必要があるという。Javaのように仮想環境(JVM)ではないし、実行ファイル単体で実行させるわけでもなさそうだから、やや仕組は複雑そうである。


 GoogleAjaxによってクライアント側のJavaScriptを復活させた。その効率とスピードでGoogle ChromeFirefoxが競っているほどである。ただGoogleJavaScriptの処理の高速化だけでは満足していなかったようだ。よりWebアプリケーションを効率化、高速化するために、再びWebアプリをサーバー集中からクライアントへ分散させる方向に向かわせるように見える。ただし実行されるプログラムはディスクに長期保存されるものでなく、そのたびに生成され消滅するものになるのだろう。