Google Native Clientをあれこれ試してみた
Googleが、ネイティブコードをWebブラウザ上で実行する「Native Client」を公開した。早速、その基本的なしくみと導入方法、利用の実際について報告させていただこう。
Native Clientのココに注目
Native Clientは、Googleが開発したWebブラウザ用ネイティブコード処理系。早い話が、ブラウザ上でマシン語プログラムを実行できるランタイム環境だ。ライブラリなどから構成されるランタイムと、各種Webブラウザに対応するプラグイン、そしてGCCベースのコンパイラツールで構成され、OSはWindowsとMac OS X、そしてLinuxの3種に対応する。現在のところ、CPUアーキテクチャはx86のみサポートされるが、ARMやPowerPCへの移植も進行中とのこと。
注目すべき点はいくつかあるが、筆頭に挙げられるのはやはり「CPUネイティブの命令を実行できること」。JavaScriptなどスクリプト型言語に比べ処理速度に優れ、高負荷な演算を行うアプリケーションで力を発揮する。JavaやAlchemyとは異なり仮想マシンを介さないので、オーバーヘッドも少ない。ただし、UIの定義は行われていないため、現在主流のJavaScript+HTMLを置き換えるものではなく、画像の変形やエンコードなど速度を要する処理をローカルで行うための実装だといえる。
もう1つは、CやC++をWebアプリケーション開発に使用できること。OS上で直接実行する場合に比べ制約はある(とはいえどマルチスレッドやSIMD命令まで使える!)うえ、再コンパイルは必須となるが、Native Clientの環境内で実行されるため、libc / libmath / libstdc++のほか、NPAPIやSRPCといった通信機構、Basic Multimedia Interfaceと呼ばれるマルチメディアAPIが用意されるなど、移植性はかなり高いと考えられる。実際、現行バージョンのNative Clientには、C言語で記述されている3Dシューティングゲーム「Quake」(SDL版)のパッチも同梱されている。
そしてもう1つが、セキュリティ機構。同梱されるGCCベースのコンパイラは、サンドボックスと呼ばれる安全装置の枠内でのみ実行されるバイナリを生成、危険な処理を予防するというしくみだ。一般的に実装の形態が増えればそのぶん脆弱性が存在する可能性も高まるため、過信は禁物だが、Googleはセキュリティ重視の開発方針を示している。このあたりは、ユーザからのフィードバックを生かせるオープンソースの長所に期待したいところだ。
Native Clientは、主要Webブラウザにプラグインの形でインストールされる(画面はFirefox 3)
地球の画像を回転させるデモ。ソースはC++で記述されている
- 1人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(1)
-
- タグ
- ローダ
- カレントディレクトリ
- SDL
- Cygwin
- SIMD
- nacl-g++
- nacl-as
- run.py
- earth.html
- コンパイル作業用
- コンパイル作業
- 単独実行時
- 実行時
- Pythonスクリプト
- アプリケーションローダ
- sel_ldr
- earth.nexe
- マルチスレッド処理
- file
- ELFバイナリ
- ELF
- tools_bin
- nacl-gcc-4.2.2
- nacl
- nacl/googleclient/native_client
- googleclient
- native_client
- SCons
- ビルドツール
- xzf
- ファイルコピー
- scons-out
- staging
- index.html
- マンデルブロー集合
- ライフゲーム
- サンプルソースコード
- 静止画像
- earth
- earth.cc
- 3Dシューティングゲーム
- FPS
- Quake
- 安全装置
- 危険
- フィードバック
- 地球
- プリビルドバイナリ
- Core 2 Duo
- SIMD命令
- ホワイトペーパー
- 企画特集
中小企業のセキュリティリスクとは?
インターネット上の悪意を未然に防ぐには?
ESBでIT投資の無駄を劇的に解消する
セキュリティ&ユーザ事例【SIer Club】
パンデミック対策特集
◆エン・ジャパン厳選求人☆毎週更新◆
仮想環境を実現するソリューション特集
御社のログ活用しませんか!?
ストレージメディア特設サイト開設
ロリポップ!がリニューアル
そのストレージで仮想化に対応できますか?
【徹底対談】運用管理ツールの賢い使い方
集積度も性能も、業界最高水準のブレードPC
今注目の「サジェスト検索」−デモ掲載中
SOA、BPM、SaaS −今、企業に必要なこと
- サービス・ドリヴン・データセンター
- ■ストレージ容量50%削減保証■
- エンタープライズにおけるSUSEの強み
- サーバー監視・運用のコストを削減するには
- 話題のタグ
Windows 7はLinuxへの切替が簡単:注目の仮想ディスクフォーマット「VHD」
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――