PR
基調講演に登壇したGoogle社CEOのEric Schmidt氏
基調講演に登壇したGoogle社CEOのEric Schmidt氏
[画像のクリックで拡大表示]
Vice President of Developer PlatformsのVic Gundotra氏
Vice President of Developer PlatformsのVic Gundotra氏
[画像のクリックで拡大表示]
JavaScriptの処理性能は100倍に向上
JavaScriptの処理性能は100倍に向上
[画像のクリックで拡大表示]
Webブラウザーで3次元グラフィックスを表示させる「O3D」を実演
Webブラウザーで3次元グラフィックスを表示させる「O3D」を実演
[画像のクリックで拡大表示]

 「サーバーやクライアントといった個々のプラットフォームに合わせる時代は終わった。これからは,ネットワークをプラットフォームとした新しいプログラミング・モデルを採用すべきだ」――米Google Inc.のCEOであるEric Schmidt氏は,2009年5月27日に開幕した同社主催の開発者会議「Google I/O」の基調講演で,こう宣言した。

 オープンなWeb技術を採用することにより,「プログラムに潜む複雑さを取り除くことができる。さらにインターネットの力を利用して,多種多様な技術を組み合わせて新しいアイデアを実現できる」(Schmidt氏)。こうした方向性に向けて同社は,HTML 5を推進していく方針を明らかにした(発表資料)。HTML 5は現在W3C(World Wide Web Consortium)が策定中のHTMLの次期版である。

 Schmidt氏に続いてVice President of Developer PlatformsのVic Gundotra氏が登壇し,「A More Powerful Web,Made Easier」と題した講演を行った。まずHTML 5の新機能に対応したWebブラウザーが続々登場していることを示し,「新しい技術がこうした複数の異なるWebブラウザーで実装されていることに意味がある。JavaScriptやXMLHttpRequestといった技術要素がWebブラウザーに実装されたのが1999年。Ajaxとしてそれが広範に使われるようになるまで5年かかった。Google社はそれに対応しやすいツールを提供することで,HTML 5への移行を推進する」(Gundotra氏)。この間にJavaScriptの実効性能は100倍に向上し,「Webはもっと強力になる」(Gundotra氏)とした。

 続いてHTML 5の新機能を紹介した。(1)Canvas,(2)Video,(3)GeoLocation,(4)App CacheおよびDatabase,(5)Web Workers,である。これらは既に多くのWebブラウザーで実装が始まっている。例えばGoogle社の「Chrome」では,最新版の2.0版ですべて実装されているという。

 (1)のCanvasは,「Webブラウザーに自由にグラフィックスを表現するための技術」(Gundotra氏)である。これまでであれば,米Adobe Systems Inc.の「Flash」や米Microsoft Corp.の「Silverlight」といった別のプログラムを使って描画するしかなかった。Canvasを採用することで,例えばグラフの描画などがリアルタイムで実装できる。基調講演ではマウスを使った簡単な描画プログラムで実装方法を簡単に見せた後,米Mozilla Corp.が開発中の統合開発環境「Bespin」や,JavaScriptの実行プロファイラをWebブラウザーで実行した例を紹介してその威力をアピールした。Canvasの利用例として,Google社が開発している3次元グラフィックス実装「O3D」も合わせて示した。GPUを使って描画するので,マイクロプロセサの負荷は10%程度に抑えているという。

 (2)のVideoは,静止画像をWebサイトに貼り付けるのと同じ感覚で動画を貼り付けられるようにするもの。具体的には「<Video>」というタグが導入される。(3)のGeoLocationは,位置情報をWebサイト側で収集して,コンテンツの作成に利用できるというもの。Firefox 3.5の実装を紹介した。プライバシーに配慮して,ユーザーが許可した場合に位置情報を送るようにしているという。

 (4)のApp CacheおよびDatabaseは,オフラインでの利用を想定したものだ。例えば携帯電話機など持ち歩いて利用する機器の場合,常にネットワーク・アクセスができるとは限らない。情報やアプリケーション・ソフトウエア自体をローカルに保持することによって,ネットワークにつながっていなくても継続して利用できるようにするためのものである。Google社は既存のHTML 5に対応していないWebブラウザーでこうした機能を実現するためのAPIとして「Google Gears」を用意している。HTML 5で共通の実装がなされることで,今後はHTML 5向けを増やしていくことになる。

 最後の(5)にあるWeb Workersは,JavaScriptをバックグラウンドで実行可能にするものだ。言わばパソコンOSのマルチスレッドやマルチプロセスに相当する機能である。

JavaScriptの初期コードを1/7に

 HTML 5の説明に続いて,Google社が提供する製品としては,「Google App Engine」と「Google Web Toolkit(GWT)」を紹介した。サーバー側がApp Engine,クライアント側がGWTという役割分担になる。

 AppEngineは4月にJavaに対応したが,一部の開発者に限定されていた。ここにきてその限定を解除し,すべての開発者が利用できるようになる。また今後半年で,バックグラウンド・プロセスへの対応やバイナリ・オブジェクトの格納などの新機能を追加していくことを明らかにした。

 GWTはJavaで作成したプログラムから,Webブラウザーごとに適切なHTMLやJavaScriptを生成するツールである。今回GWT 2.0版では,Webブラウザーをデバッガから呼び出して表示をチェックする機能を追加したほか,非同期にスクリプトを実行する機能に対応した。後者は特に,Ajaxプログラムの初期化時間の短縮に結びつくという。同社が実装したプログラムでは1.4Mバイトに達していた初期のダウンロード・サイズを200Kバイトまで縮小できたという。

 また基調講演では,Google社の検索サービスや地図サービスなど,さまざまなサービスをWebサイトから簡単に利用できるようにする「Google Web Elements」を発表した。Google Web ElementsのWebサイトで利用したいサービスを選択し,設定情報を入力すると,そのコードが自動生成される。コードをコピーして自身が提供するWebサイトに貼り付けるだけで,Google社のサービスを利用したコンテンツを作成できるというものだ。