【ハウツー】
5月31日に開催されたGoogle Developer Day 2007で発表され、一気に話題をさらった「Google Gears」。本稿では、そのGoogle Gearsを技術的な観点から解説したうえで、同アプリケーションを使用した簡単なサンプルをご紹介し、その魅力に迫ってみたい。なお、Google Gearsの概要については、「Google Gearsを組み込んだGoogle Readerを使ってみよう」を参照してほしい。
Google Gears(以下、Gears)は、Webアプリケーションのオフライン使用を可能にする技術である。ただし、オフラインには様々な課題がある。セキュリティ上、ローカルマシン上で好き勝手にファイルを操作したり、読みだしたりすることは許されない。アプリケーションのページをキャッシュしておくことと、アプリケーションが使用するデータをキャッシュしておくことは別の話だ。そもそも、オフラインでの作業結果を保存するには、JavaScriptを使用してなんらかのローカルストレージにデータを読み書きする必要がある。それも簡単に、だ。
Gearsはこうした問題に対して、以下のような機能を組み込み、対処している。
ローカルサーバ - Webページに関する様々なリソース(HTML、JavaScriptファイル、画像など)をキャッシュしておくサーバ。Gearsは、ブラウザからのHTTP/HTTPSリクエストを途中で横取りし、キャッシュからリソースを読みだす。これにより、オフラインでページを表示できるだけではなく、レスポンスも高速化される。
データベース - Gearsはなんと、リレーショナルデータベース(SQLite)を内部に保持している。JavaScriptを用いて、データベースに対してSQLを発行し、データの読み書きを行うことが可能だ。これにより、アプリケーションのデータ管理を容易にすることができる。
ここでは、ローカルサーバの機能を軽く試してみたい。
ローカルサーバは、一度アクセスしたことのあるリソースをローカルにキャッシュしておき、オフラインでも利用可能にするためのものだ。そうしたキャッシュをGearsではリソースストア(ResourceStore)と呼んでいる。
リソースストアには二種類ある。あらかじめ決めておいたリソースをキャッシュするか、アプリケーションで自由にリソースを指定してキャッシュするか、だ。前者をManagedResourceStore、後者を単純にResourceStoreと呼ぶ。前者は、「マニフェスト」と呼ばれるメタデータで指定されたリソースしかキャッシュの対象としない。ただし、それらのリソースに対する管理はほぼ自動化され、更新されたリソースをオンラインから自動で取得し、更新することができる。後者は、キャッシュ管理が一切自動化されない。
本稿では、あらかじめ指定しておいたリソースをキャッシュする、「ManagedResourceStore」を試したい。
作成するサンプルは以下のようなものだ。
|
|
サンプルの実行イメージ |
「キャッシュに保存」ボタンを押すと、キャッシュにリソースが保存される。一度リソースをキャッシュしてしまえば、サーバが落ちていようと、自分のマシンがネットワークから切断されていようと、そのリソースはブラウザから参照可能だ。「キャッシュから削除」ボタンはその逆の処理が行える。
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
【レポート】「jdk BAND」メンバーや「みっしぃ」も登場! 『英雄伝説 零の軌跡 Evolution』制作発表会 [02:54 2/11] ホビー |
|
【レポート】人気の無料/有料アプリを毎週紹介 - 1月31日~2月8日のAndroidアプリランキング [01:00 2/11] 携帯 |
|
渡部篤郎主演でドラマ化!地元新聞社が伝え続けた東日本大震災の物語 [00:08 2/11] キャリア |
|
沖縄発ヒーロー革命!「琉神マブヤー」が海を越えハワイを目指す! [00:08 2/11] キャリア |
|
中国四川省、パンダの保護と生態研究の最新情報とは? [00:08 2/11] キャリア |