このエントリーは、Google Developer Day 2008 に関するレポート記事の一部です。
Google の日本人エンジニア二人 (河内隆二・市川宙) による 45 分のセッション。Google Developer Day 2008 の中で、一番面白かった。
セッションの内容は、Gears の基本説明。
Gears は、ウェブ・ブラウザーにオフライン機能を追加するためのプラグイン。ユーザーは Gears 対応サービスにオフラインでもアクセスできて、情報の追加・更新・削除が出来る。そして、オンライン復帰時には、オフライン中の編集が同期される。
ブランディングの変更
「Google Gears」から Google が抜けて、「Gears」という名称に変更になった。
理由は、Gears の開発がオープンに行なわれていることを強調するため。Google Code のプロジェクト・ページを見ると、確かにライセンスは New BSD License (修正 BSD ライセンス)。リポジトリーも公開されているし、Wiki も読めれば、バグの追跡も行なえる。
同じ Add On の Google Toolbar では、開発中のリポジトリーはおろか、バグのチケット (?) を発行することすら出来ない。せいぜい、Google Groups で問題を報告する位い。Gears が「オープンな開発プロジェクト」と言うのは嘘偽りない。
「ブラウザーの拡張を目指す『オープンなプロジェクト Gears』が、Google という一企業の政治下にあるわけではない (@aka 的異訳)」ことを強調するためにも、「Google Gears」から「Gears」にブランド名を変更した、とのこと。
Gears の今
Gears の目指すところは、オンラインとオフラインのシームレスな切り替え。
そのためには、オフラインでもオンラインと同じデータにアクセスできないといけない。オフライン中にアクセスできる場所は、ローカル環境しかない。けれど今のブラウザーは、ローカル・データにアクセスすることが制限されている。
そこで、Gears は次の機能を提供する。
- ローカル環境に DB を用意して、ネット側の情報をバックアップする仕組み
- ウェブ・ブラウザーから、ローカルの DB にアクセスする仕組み
- オンラインに復帰した時、ローカルとネットの情報を更新・同期する仕組み
現在、Gears はブラウザーのプラグイン (アドオン) という形で提供されている。その実態は、JavaScript の API。JavaScript の動くブラウザーは全てサポートする意向らしい。
Gears のサポート情況はこんな感じ。
- IE
- Firefox2+ (Windows, Mac, Linux)
- Windows Mobile
- Safari (もうすぐ
- Opera (間もなく)
Gears に対応したサービスはこんな所がある。
- Google Reader -- 最初の Gears 対応サービス
- ref. clmemo@aka: Google Gears リリース: Google Reader がオフラインで記事を読めるようになった
- Remember the Milk -- サード・パーティーで最初に Gears に対応したサービス
- ref. clmemo@aka: Remember the Milk も Google Gears をサポート
- Google Docs
- Zoho Writer
- MySpace Mail Search
Gears の中身
外から見た Gears
Ajax の仕組みを簡単に書くと、次のやうになる。
Internet - XHR.UI
ここで、XHR は XMLHttpRequest のこと。非同期通信機能と思ってもいい。UI は、ユーザー・インターフェース。
一方の Gears はかうなる。
Internet - XHR.Sync - Local DB - UI
非同期通信と UI の間にローカル・データベースを持つ。また、ネットとローカルの同期をとるために、「Sync」用の緩衝モジュールが入っている。
ネット側のデータを全て「Local DB」に持って来れば、ネットとの通信を行なわずに処理が可能になる。これは、大量の通信量が発生するため敬遠されてた処理を、行なうことが出来る可能性が出てきたということ。
内から見た Gears
Gears の基本構成はこんな感じ。
- Local Server
- ウェブ・アプリケーションの HTML などをローカルに保存。個別の URL をキャッシュする「ResourceStore」と、どのファイルをキャッシュするかを指定する「ManageResourceStore」の組み合わせ。
- Database
- SQLite3 を利用。GB 単位のデータも保存可能。セキュリティ向上のため、厳格な sema-origin セキュリティ・モデル (同じ URL からアクセスされた時に限り、データにアクセスできる) を採用。
- Worker Pool
- JavaScript に擬似スレッド機能を提供する。JS のインタープリターを複数動かすイメージで実現。正確な意味のスレッドではないので、ワーカーと呼んでいる。
Gears の未来
Gears は、「オンラインとオフラインのシームレス化」のため、更なる進化をとげてゆく。
- Desktop API
- デスクトップ上にアイコンを作れるようになる。お手軽さとサービス固有のアイコンを用意できることがウリ。
- Desktop Notification API
- ポップアップお知らせ機能。ブラウザーのウィンドウと独立していて、ブラウザーを閉じてても OK。
- File System Access API
- 複数のファイルをアップロードする仕組み。
- Large Upload (Resumable Uploader)
- アップロードの進捗表示。再接続機能の提供。
- Geolocation
- 現在位置を取得する試み。GPS や IP アドレスの情報を使うらしい。ローカル検索する時、便利そう。
Gears の未来は明るいやうに思える。セッションを聞いて、真面目に勉強したくなった。
No comments:
Post a Comment