Google I/O 2009レポート

Webは開発プラットフォームとして機が熟した、グーグルCEOが講演

2009/05/28

 「今こそ、ウェブを使った開発を始めるべきときだ」。米グーグルの会長兼CEOのエリック・シュミット氏は、開発者向けイベント「Google I/O 2009」の基調講演を、こうした言葉で切り出した。米グーグルは5月27日と28日の2日間、年に1度の開発者向けイベントをサンフランシスコで開催中だ。基調講演では同社の各担製品当者が登場して新機能や新サービスを紹介したほか、MozillaファウンデーションやwebOSを開発した米パームの開発担当者が登壇するなど盛りだくさんの内容となった。

keynote01.jpg 米グーグルの会長兼CEOのエリック・シュミット(Eric Schmidt)氏。共同創業者のラリー・ペイジ氏には成熟した大人の常識的視点を提供してくれる人と言われたりするなど、“グーグルには珍しいビジネスマンタイプ”という印象もあるかもしれないが、字句解析器ジェネレータ「lex」の開発者としても知られたハッカーでもある

 インターネットやWebブラウザが有力なソフトウェアプラットフォームとして認知されるようになって久しい。しかし、シュミット氏は、われわれはまだその入り口に立っているようなもので、本当の開発はこれから始まるのだという。今こそ機が熟したとする理由として、ネットワークが普及したこと、ネットビジネスが認知されてきたこと、ツールが成熟してきたこと、開発者、あるいは開発に参加する層が増えていることなどを挙げる。

複雑化、肥大化するJavaScript開発をどうするか

 ツールの成熟については、近年の、開発ツールやフレームワークによるシンプル化の方向性を指摘する。「どうしてわれわれは複雑さの上にさらに複雑さを加えるようなことをしてきたのでしょう?」。

 同社は公式利用言語としてJavaとC++、Pythonを使うことで知られているが、自社サービスの開発に利用している開発ツールを次々と公開している動きで注目されている。C/C++向けのシリアライザやプロファイラ、Java向けのDIフレームワーク「Guice」などが典型だ。

 Google I/O 2009で多くのセッションが割り当てられている「GWT」(Google Web Toolkit)も、そんなツールの1つだ。GWTを使えば、Java言語で開発し、各種ブラウザ向けのJavaScriptを生成してAjaxを使ったWebアプリケーションを開発できる。「Web標準」が叫ばれて久しいものの、現実には多くのWeb開発者は互換性の問題に頭を抱えている。グーグルに加わる前のサン・マイクロシステムズ時代にはJavaの開発に携わっていたシュミット氏は、「JavaではWrite once, run everywhereといったが、GWTはWrite once, run on every browserだ」と、GWTのクロスプラットフォーム対応のメリットを強調する。

keynote02.jpg 「CSS is awesome!」(CSSっていいよね!)というメッセージが枠からはみ出している。これは日々、Web開発者が直面している互換性の問題をアイロニカルに表現している。パッと写真が表示されてから2、3秒してから会場に笑いが広がっていた

 GWTは現在バージョン1.6だが、次バージョンのGWT2.0では、肥大化するJavaScriptのダウンロードサイズを小さくするための新API「runAsync()」を提供すると発表した。このコールバック関数を使うことで、起動時に不要なコードはダウンロードせずに、必要となった段階でダウンロードする非同期ダウンロード実行をサポートするという。一例として、GWTで書かれたWebアプリケーション(実サービスの例かどうかや、サービス名などは特定しなかった)で、1400KBにまで膨らんでいたアプリケーションで起動時のJavaScriptのダウンロードコード量は200KBと約7分の1にまで縮んだという。

keynote03.jpg GWT2.0に入るrunAsync()と名づけられたAPIを利用すると起動時にロードするJavaScriptのコードサイズを大幅に削減できるという
keynote04.jpg runAsync()のコードサンプル

ホワイトハウスも使うApp Engineインフラ

 グーグルがGuiceやGWTといったJava開発向けのツールを充実させているのは、もちろん同社のWebアプリケーションホスティングサービス「Gogle App Engine」(GAE)がJavaに対応したからだ。基調講演では、これまで限定的に一部のユーザーにだけ公開していたGAE/Jを、同日付けで一般公開すると発表した。

 基調講演のデモンストレーションでは、統合開発環境のEclipseを使ったApp Engine向けの開発の典型的フローを披露した。プラグインを入れることで、開発、コンパイル、デプロイ、動作確認といった一連の開発の流れはEclipseとWebブラウザだけで完結する。サーバやアプリケーションサーバについては設定不要だ。スケーラビリティの高さについても担当者は、ホワイトハウスがディスカッション用フォーラムとしてグーグルのコミュニティサイトサービス「Google Moderator」を使っている事例を紹介。Google ModeratorはApp Engineと同じインフラを使っていて、ピーク時と平時のリクエスト量の差が大きいサービスでも、問題なく自動的にスケールすると説明した。

 現在、App Engineのサインアップユーザー数は約20万人。すでに80万のアプリケーションがあるという。過去1年でmemcache API、SSLサポート、システム稼働状況の確認画面提供、有料課金によるクォータの緩和、Cronサポート、データベースインポート、Javaランタイムサポートなど次々と機能を拡張してきたが、今後6カ月ではさらに、バックグラウンド処理、ラージ・オブジェクトストア、データベースエクスポート、IM用プロトコルのXMPPサポート、メール受信の機能実装を予定しているという。

keynote05.jpg App Engineと同じインフラで運用するGoogle Moderatorはホワイトハウスでも使っているという。ピーク時と平時の差が激しいサービスでも対応できるスケーラビリティの高さが特徴
keynote06.jpg 今後、App Engineで予定している機能拡張

開発者ではない人々にも参加を呼びかけ

 シュミット氏が「今こそ、その時だ」とウェブ開発の機が熟したと呼びかけているのはプログラマや開発者だけではない。

 「どんな場所にいっても、インベンターというのはいる。彼らはプログラミングを知らないかもしれないし、英語も話さないかもしれない。でも、彼らはビジョンとアイデアを持つ非常にスマートな人たちだ。これまで、こうした人々が世の中を変えてきたし、これからもきっとそうだろう。彼らにはプラットフォームが必要なのだ」(シュミット氏)

 Webアプリケーションは、どんなOS、どんなデバイスを対象としても同じように開発ができる。HTML 5のアプリケーションキャッシュを利用すれば、そのアプリケーションはデバイスやPCがオンラインでもオフラインでも使える。これまで同社がApp Engine、Chrome、Androidで取り組んできた機能拡張は、すべて、こうした普遍的で使いやすいWebアプリケーションのプラットフォームのためにあるとも言える。

 同社はApp Engineを使った付箋紙アプリケーションのデモンストレーションで、同じURLにアクセスして、オフラインでも付箋紙を新規に作成して編集できることを示して見せた。

 「何でも好きなツールを選んで、組み合わせ、コンパイルし、マッシュし、実現してほしい。そうすることでインターネットの集合知は実現される」(シュミット氏)

YouTubeライクに各種サービスを埋め込める「Web Elements」

 マッシュというのは、すでに使い古された言葉だが、同社はマッシュの威力を改めて思い起こさせてくれる新サービス「Google Web Elements」を発表した。YouTubeにインスパイアされて作ったというWeb Elementsは、端的に言えば、YouTubeのような埋め込み用HTMLスニペットを、同社のあらゆるWebサービスで提供していこうというものだ。デモンストレーションではWeb Elementsのページから、Google News/Maps/Custom Search/ConversationなどのHTMLスニペットを既存の静的なWebページに埋め込むデモを披露。ちょうどYouTubeでコード片をカット&ペーストしてブログに埋め込むように、任意のサイトに手軽に地図やチャットサービス、検索窓を設置できる。

elements01.jpg 新サービス「Google Web Elements」。まず埋め込む対象とする目的のサービスを選ぶ
elements02.jpg 続いて埋め込みのための各種設定を指定する
elements03.jpg 実際にWeb ElementsでGoogle Newsを埋め込んだページの例

 これまでもAPIを使ったり各サービスからHTML片の生成を行うことで同様のことができたが、Web Elementsに込められた「YouTubeと同じことをしてください」というメッセージのシンプルさは強力だ。すでにかなり多くの人がやり方を知っているからだ。2009年5月には同社の低レベルAPIのリクエスト数が1日当たり40億を越えたというが、今後、こうした手軽なマッシュアップ手法の提供で伸びが加速するかが見ものだ。

 基調講演では、このほかHTML 5に関するデモンストレーション、Androidの次バージョン(最近出てきた1.5ではなく、その次の2.0)に組み込まれる機能のデモンストレーションがあったが、これらについては別稿でレポートしたい。

関連リンク

(@IT 西村賢)

情報をお寄せください:

Java Agile フォーラム 新着記事

キャリアアップ

- PR -

注目のテーマ

- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

2023年のSNS炎上総数は189件、炎上元の媒体1位は「X」――コムニコ「炎上レポート」
コムニコが「炎上レポート」2023年版を公開しました。

今度の「TikTok禁止」はこれまでとどう違う?
米国ではまたしてもTikTok禁止措置が議論されている。これまでは結局実現に至らなかった...

「ゼロクリック検索」とは? SGE時代の検索の変化と5つの対策を解説
SEO専門家やマーケター、そして情報を求める人々にとって、「ゼロクリック検索」はどのよ...