GoogleがChromeのバージョン10βを公開していた。今回のバージョンアップによって、前のバージョン比65%のJavaScript処理性能向上と言う話も出ている。もう、これまでのJavaScriptはいったい何をやっていたんだろう?と思ってしまうくらいの性能向上だ。
なんだかいつだったか聞いた「開発者はパフォーマンスは考えなくてもいいんだよ、DB側がなんとかうまいことやってくれるよ」なんて甘言が聞こえてきそうなくらい愚かになってしまいそう。
それはそうと、今回のバージョンでNativeClientというものが実装されたらしい。少しだけ試して見た。
Native Client : Geting Ready for Takeoff
http://blog.chromium.org/2011/02/native-client-getting-ready-for-takeoff.html
上記ブログにあるリンクのSDKをダウンロードすると、複数のサンプルもついてくる。
サンプルに関してはおなじみのHelloWorldだ。
しかし・・・HelloWorldと銘打っている割には何故か
「42」と「dllrow olleH」というHelloWorldをさかさ読みしたものではあるが・・。
動作環境の構築
動作するためには、現在はβとして公開されているChrome10をダウンロードする必要がある
Try the latest version of Google Chrome(BETA)
http://www.google.com/intl/en/landing/chrome/beta/
ブラウザの設定としては、デフォルトではこのNativeClient機能は無効になっているのでアドレスバーで「about:flag」と入力して設定一覧を呼び出し、”Native Client”項目を有効にする必要がある。
コンパイルしたモジュールをTomcat上に配置して、無事に動く事を確認した。
サンプルについてくるC++ソースを少しばかり読んでみたのだが、C++をVCから入った私にとってはちょっとなじみづらいコードだったもののなんとか読むことができた。このあたりは私の知識と言うか、携わってきた範囲の狭さが露呈してしまうな。
どこへ行くのか
さてはて、今回のNativeClient。どこで使われることになるんだろうか。そもそものNativeClientのさきがけは、ブログにも登場する「PepparPlugin」と言うものからきている。私はプラグイン開発に携わったことがないので正直言うと何の事だかさっぱりだ。ただ、最終的には
A big goal of this release is to enable developers to start building Native Client modules for Chrome applications
(http://blog.chromium.org/2011/02/native-client-getting-ready-for-takeoff.html)
とある。Chromeとしてのターゲットはやはり、Chrome Applicationと言うことか。ただ、これまではどうしてもJavaScriptの処理速度ネックだった部分がNativeClientによって置き換わるんだろうか?
いずれにしてもC++が使えるのであれば、どんなものだか少しばかりは触ってみたいと思っている。
正直言って、日常業務は管理系の業務ばかりなのでもうずいぶんとコードをいじっていないからリハビリしなきゃね。