gihyo.jp » DEVELOPER STAGE » 連載 » 最速!Google Wave API解説 » 第1回 ガジェットAPI

最速!Google Wave API解説

第1回 ガジェットAPI

2009年5月28日,Googleのデベロッパーカンファレンス「Google I/O 2009」のキーノートにおいて大々的に発表されたGoogle Waveは,聴衆に熱狂を持って迎えられました。そのキーノートにおいてスピーカーは「Google WaveはProductであり,Platformであり,Protocolだ」と述べました(編注)。

本連載ではその3つのPの内の2つ目,PlatformとしてのGoogle Waveについて説明します。

編注
著者執筆のGoogle I/O 2009のイベントレポート記事も参照ください。

なお,Google Waveは現在も急ピッチで開発が進められているプロダクトであり,本連載に掲載する画面遷移・ソースコードなどは最新ではない可能性があります。記事に沿って作業していて違和感を覚えた場合にはGoogleの公開しているドキュメントを適宜参照してください。

API概観

私たち開発者から見えるPlatformとしてのGoogle Waveは3種類のAPIからなります。

Robots API Extensions Waveを拡張するためのAPI
Gadgets API
Wave Embed API Waveの機能を外部から利用するためのAPI

APIごとの違いを大まかに説明すると以下のようになります。

Robots API
Waveでの入力をサーバ側で処理をするためのAPI。例:チャットボット(人工無能)
Gadgets API
クライアント側でWave内のイベントを処理をするためのAPI。JavaScriptで記述することが多い。例:Google Mapガジェット
Wave Embed API
Google Wave以外のサービスにGoogle Waveの機能を組み込むためのAPI

3つのうちRobots APIとGadgets APIはGoogle Wave自体に機能を追加するAPIとしてExtensionsと呼ばれ,Wave Embed APIとは区別されています。

連載第1回目の今回は,上記3つのうちExtensionsに所属するGadgets APIについて説明します。公式ドキュメントではRobots APIが先に説明されていますが,Gadgets APIはGoogle Waveの大きな特徴の一つであるリアルタイム通信を扱うAPIであることと,Robots APIがGadgets APIを操作することもできるAPIであることから,Gadgets APIを先に説明した方がわかりやすいでしょう。

Gadgets API

シンプルなガジェット

ガジェットとはHTML,CSS,JavaScriptなどをXMLで包みiGoogleやOpenSocial等のコンテナに機能を追加するための仕組みで,Google Waveのガジェットも基本的にはiGoogleやOpenSocial等と全く同じです。これは実際にソースコードを見た方が早いでしょう。公式ドキュメントから引用してみます。

リスト1 シンプルなガジェット(公式ドキュメントより引用

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Hello Wave">
    <Require feature="rpc" />
  </ModulePrefs>
  <Content type="html">
    <![CDATA[
    <script type="text/javascript"
       src="http://wave-api.appspot.com/public/wave.js"></script>
       Hello, Wave!
    ]]>
  </Content>
</Module>

<Require feature="rpc" /> タグでRPCコールの使用を宣言している部分と,<Content>タグ内部でwave.jsスクリプトを読み込んでいる部分が特徴的ですが,このシンプルな例ではiGoogleなどのガジェットと何ら変わるところがないことが理解できるでしょう。

ガジェットの実行

それではガジェットを実際にWave上で実行してみましょう。ガジェットのXMLにはグローバルなURIが必要ですが,本XMLはすでにhttp://gadget-doc-examples.googlecode.com/svn/trunk/wave/hello.xmlに用意されていますので,このURIをそのまま使います。

まずは真ん中のWaveにある「New Wave」ボタンを押下して新規にWaveを開きます。

図1 New Waveボタン

図1 New Waveボタン

画面右上の,ユーザー名の隣にある「Debug」ボタンを押下します。

図2 Debugボタン

図2 Debugボタン

メニューから「Add Gadget」を選択すると「Gadget gallery」が開きます。

図3 Debugメニュー

図3 Debugメニュー

図4 Gadget galleryダイアログ

図4 Gadget galleryダイアログ

Gadget galleryの一番下にある「URL of gadget module XML」テキストフィールドにガジェットXMLのURIを入力し,「Add by XML」ボタンを押下すると,先ほど作成したWaveに指定したガジェットが挿入されます。

図5 挿入されたガジェット

図5 挿入されたガジェット

挿入されたガジェットに先ほどXMLで指定した Hello, Wave! が表示されていることを確認してください。

著者プロフィール

あんどうやすし

シーサー株式会社 プログラマ。Google App Engine API Expert。

Google I/O翌日にGoogleオフィスで開かれたWave Hackathonに潜り込んできました。そこで得られた知識を,記憶が温かいうちにみなさんと共有できればと思います。

URLhttp://d.hatena.ne.jp/technohippy/

Wave ID:technohippy@wavesandbox.com

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

もっと便利に!jQueryでラクラクサイト制作(実践サンプル付き)

本連載では,実践サンプルとともに,jQueryを上手に活用してサイト制作の品質向上・効率化を実現するための実践テクニックを解説します。

サクセスストーリーに続く,快適サーバー運用管理のヒント!

サーバーを自社で運用管理するのはもう限界…。データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

続・先取り! Google Chrome Extensions

2010年1月のリリースが予定されているGoogle Chrome 4に搭載されるExtensionsについて,その詳細を先取りで解説します。最新情報から,ユーザースクリプトやテーマの作り方など関連情報もお届けします。

モダンPerlの世界へようこそ

この連載では,Perlの世代間ギャップに悩んでいる方に,いくらかの背景知識と,これだけは知っておいたほうがよいという最低限の慣用句をお届けします。

Hosting Department:ホスティングを活用するための基礎知識

本連載では,ホスティングサービスを活用する上で知っておきたい基礎知識を解説します。

Blogopolisから学ぶ計算幾何

計算幾何学は,図形に関するアルゴリズムを研究するコンピュータサイエンスの一分野です。本連載では,ビジュアルブログ検索エンジン「Blogopolis」で採用されている計算幾何のアプローチを例に取り上げながら,計算幾何の初歩を実践的に学習します。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス

最近のコメント