ホーム » ビジネスブログ » RIA (システム開発) »

Google Gears:概要とAdobe Apolloとの違い

2007年6月 1日

Google Gears:概要とAdobe Apolloとの違い

投稿者 竹村

SEの竹村です。

昨日は、Google Gearsの登場が話題になりました。

gearsImage.jpg

これがGoogleブラウザの正体?--オフラインでもウェブアプリが使える「Google Gears」
http://japan.cnet.com/news/media/story/0,2000056023,20349834,00.htm

Google Gearsを簡単に説明すると、あらかじめローカル環境へベースとなるデータをダウンロードしておけば、オフラインでも作業の続きができるといったところです。

これは、Adobe Apolloに良く似ていますね。
Adobe Apolloについては下記の記事でおわかりになると思います。

Leveraging HTML/JavaScript and AJAX in Apollo Applications (Adobe MAX 2006 フラッシュレポート)
http://www.adobe.com/jp/events/max/report/page11.html

ants Lab. | Flash | Apollo FAQ 日本語訳
http://labs.anthill.jp/2007/01/apollo_faq.html


Google GearsのAPI Developer's Guideをちょっと読んでみたので、その要約と、Adobe Apolloとの違いについて書いてみたいと思います。

まずは、Google GearsがどのようにしてオフラインでWebを閲覧するかのようにしているのか確認します。

Google Gears
http://code.google.com/apis/gears/

gearsSite.jpg

ベース技術は「ローカルサーバ」「データベース」「ワーカープール」の3つがあります。
詳しくは上記URLを参照してほしいのですが、かいつまんで説明します。

『ローカルサーバ』
Webアプリケーションが動作するURLのキャッシュです。
通常、我々がどこかのWebにアクセスする場合、URLにアクセスしてコンテンツを表示します。
ローカルサーバは、ローカルで動作するWebアプリのURLのキャッシュ、というわけですね。

このキャッシュは2種類あって、そのときだけのURL保持と、ファイルに保存するものがあります。
ファイルに保存することで、後からオンラインとデータを同期する際に利用できるようです。


『データベース』
オープンソースのSQLiteをDBとして使用しているそうです。
これによって、オフライン環境でもデータの検索ができるようになります。
セキュリティ面の配慮として、同一DomainのURLに対するデータベースにのみアクセスできるようになっているとのこと。

ローカルアプリを作る際は、SQLInjectionに気をつける必要がありますね。
SQLiteのデータは、ユーザのデスクトップ上に保持されます。


『ワーカープール』
Developer's Guideには下記のように書いてあります (ただし竹村の意訳です^^;)
> メインページのスクリプト実行を妨害することなく、Webアプリケーションが
> バックグラウンドでJavaScriptコードを走らせるのを許可します。

AjaxやJavaScriptなどがクライアントサイドのCPU/メモリをかなり使用するタイプのWebサイトへアクセスしたことはありませんか? そのような際は、コンテンツが表示されるまではその他のJavaScriptコードは動作しない、もしくは著しく重い、という思いをされるはず。

ワーカープールは、あるスクリプトコードの実行を妨げることなく別のスクリプトコードを実行できるようなので、バックグラウンドでデータベースを検索している間でも、フォアグラウンドでJavaScriptのコードを実行し続けることが可能になると思います。

これにより、ユーザーの体感速度を遅くしないようにできるわけです。


さて、Google Gearsについては何となくどういう仕組みか分かったところでAdobe Apolloとの違いについて考えてみます。

apollogo.jpg

まずApolloは、HTML、JavaScript、Ajax、Flashによるローカル環境でも動作するアプリケーションが作れるというものですね。

Apolloの強みとしては、ブラウザ/プラットホームに依存しないので実装後のテストは少し楽ができると思います。また、ブラウザに依存しないので、ウィンドウの変更などユーザの嗜好に合わせて好きなようにカスタマイズできる点がかなりデスクトップアプリらしいように思います。

ただ、Google Gearsに劣るとであろう箇所としては、AjaxやJavaScriptの処理はバックグラウンドで実行されないため、重い処理が走っている間はユーザは待たなければならない点。またもう一点、Apolloアプリはデータベースをローカルに保持しないので、「ローカルのデータを検索する」という部分では弱いように思います。

逆に考えれば、1ページに表示する要素をあまりゴテゴテしすぎないようにし、シンプルにレスポンスを返すアプリケーションを開発する場合にはApolloは向いているのかもしれません。

Webの延長を非Web(ローカル・デスクトップ環境)でも実現したい場合はGoogle Gearsが向いている、というように思います。

オフラインアプリの特性を意識して、開発・提供する環境を使い分けるようにしたいですね。

投稿者 竹村 : 2007年6月 1日 10:48

カテゴリー: RIA (システム開発)

タグ: Adobe Apollo , Google , Google Gears


Movable Type用高機能メールフォーム生成プラグイン A-Formの詳細へ
Movable Type用会員限定サイトプラグイン A-Memberの詳細へ
Movable Type用予約サイト構築プラグイン A-Reserveの詳細へ
ARK-Web×CSR(企業の社会的責任)

アークウェブの本

Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用

Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用

内容充実のZen Cart公式本(v1.3対応)がついに発表です。アークウェブのスタッフをはじめZen-Cart.JPの中心メンバーが共著で執筆しました。続きを読む

Movable Type プロフェッショナル・スタイル

Movable Type プロフェッショナル・スタイル

ビジネスサイト構築におけるCMSとしてのMTの活用方法について、豪華執筆陣による実践的MT本です。八木が共著で執筆しました。続きを読む

Web屋の本

Web屋の本

Web 2.0時代の企業サイトの構築・運用などの戦略を考える「Web屋の本」 (技術評論社)を、中野・安藤が執筆しました。続きを読む

新着はてブ

Loading

アーカイブ

応援しています

  • キッズ・セーバー
  • ソロモン・リリーフ ─ソロモン諸島を応援する有志による、震災復興支援プロジェクト─

    (終了しました)

RSS配信

 

サービスおよびソリューション一覧


最新情報・投稿をチェック


このページのトップに戻る

Photo by A is for Angie

Powered by Movable Type Pro 6.3.8