読書メモ
・「Google Gearsスタートガイド」
(白石俊平 :著、技術評論社 \1,980) : 2009.04.26
内容と感想:
「Google Gears」とは一言で言うとGoogleが提供する「オフラインのWebアプリケーション技術」。
つまりインターネットに接続していなくてもWebアプリが使えてしまうという仕組みである。
本書では「Google Gears」が登場する背景や、その技術の概要、その将来について触れた後は、
残りはほとんどプログラミングとWebアプリ構築の方法を解説している。サンプルを示しているので理解しやすいだろう。
「Google Gears」の特徴はネット接続が主のWebアプリであっても、
一時的に接続できない環境でもアプリケーションを使い続けたいという要望から生まれた。
そういうニーズが適用できそうなWebアプリは考えれば色々と出てきそうだ。
Google自身、Gmailや「Google Docs」といったまさに「クラウドコンピューティング」時代の「あちら側」で
提供するサービスをもっている。
これらのアプリケーションがオフライン時にも使えたらいいのに、というニーズはあるだろう。
再びネット接続可能になればサーバと同期さえ取れればいいのだから。
であるが何でもかんでも「Gears」を使えばいいというものではない。
ユーザにメリットがあるWebアプリであれば、オフライン化に対応することでユーザの利便性が上がり、利用も広がり、
サイトの価値向上が期待できる。
本書では自サイトをオフライン化に対応させるための実現方法を学ぶことが出来る。
今後、Gearsのようなアプリケーションが増え、「クラウド」が本格化してくると、ユーザは殆どネットの接続の有無を意識しなくても、
シームレスにアプリを使用し続けることができ、ひいてはWebブラウザさえあればアプリが使える環境が出来ることで、
使用OSも意識することもなくなる。OSがWindowsだろうが、Android(Linux)だろうが気にしなくなる。
Microsoftも「Windows Azure」で「クラウド」に参入してきたが、今後どう対抗していくだろうか。
○ポイント
・Gearsの正体はブラウザのプラグイン。オープンソース。
・Webメールやブログ、SNSでオフラインは実現されていない
・ローカルサーバによるWebトラフィック軽減
・組込みDB「SQLite」:オープンソースのDB。サーバとしてではなくアプリに組み込んで利用。オフラインでユーザが行なった操作やデータ変更を記憶
・ワーカとワーカプール:長時間かかる処理をバックグラウンドで実行させる。JavaScriptを実行するプロセス。
ワーカ同士の通信。親子関係のワーカ。
・オンラインになったら自動で同期
・アドビの「AIR」もオフライン動作を実現するAPIをもつ。SQLiteを基盤とするローカルDBを備える。
・Yahoo! Zimbra Desktop :Webメールやアドレス帳をオフラインでも利用可能
・Aptana IDE:オープンソースのエディタ。HTMLやJavaScript開発に特化。Eclipseベース。
・セキュリティのリスク軽減のため、信頼できるオリジン(Webページの生成元のURL)に対してのみワーカを許可する。
・サイト側はユーザがGearsをインストールしていても、いなくても、同じように動作することが求められる
・オフラインに向かないサービス:株価などリアルタイム性が要求されるもの。チャットやメッセンジャーなどリアルタイムな対話式のサービス。
・サーバサイドのデータベース構造をそのままローカルDBに合わせることは情報の価値を失わせ、セキュリティ上の脅威となる
・DoJo Toolkit:オープンソースのJavaScriptアプリ開発用のフレームワーク。「Dojo Offline」はGearsを利用してオフライン機能を実現。
・GWT(Google Web Toolkit):Ajaxアプリをほぼ全てJavaで開発できるフレームワーク。GWTアプリをJavaプログラムとして実行するのはHostedモード。
Ajaxアプリとして動作させるには、Javaソースをコンパイル(?)してJavaScriptコードに変換(Webモード)。
・GWTとGearsの連携
・O/Rマッピング:オブジェクトとリレーショナルDBの間をつなぐ技術。オブジェクトの操作をDBの操作(SQL)に変換。
・ActionScript: JavaScriptと同じECMAScriptという標準仕様に従う。
・Firebug:Firefoxブラウザの拡張機能。JavaScriptデバッガなど豊富な機能
-目次-
1 Google Gearsの全体像
2 Google Gearsを使用したプログラミング
3 オフラインWebアプリケーションの作成
4 Dojo Toolkitによるオフラインアプリケーション作成
5 Google Gearsを取り巻く環境
Appendix1 Gearsデータベースリファレンス
Appendix2 Gearsオフラインアプリ開発に役立つツールの紹介
|