Google Gearsスタートガイド

[表紙]Google Gearsスタートガイド

紙版発売

A5判/264ページ

定価2,178円(本体1,980円+税10%)

ISBN 978-4-7741-3287-7

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

Google Gearsは,あのGoogleが提供するWebアプリケーションのオフライン動作を可能にするプラットフォーム。ネットにつながっていなくてもWebアプリが使えるようになります。今後のRIAの進化の方向として,流行に敏感な開発者がいま非常に注目しています。本書はGoogle Gearsの概要と開発の方法、実際の利用例をサンプルを使いながら解説。これ1冊でGoogle Gearsのすべてがわかります。

こんな方におすすめ

  • ・Google Gearsの概要や利用・開発方法を知りたい方
  • ・Webアプリケーションのオフライン対応を考えている開発者

著者の一言

本書は「Google Gearsとは何か」という基本的な事柄から,本格的なオフラインアプリケーションの作成方法,現時点で利用できるフレームワークに至るまで,幅広い話題を取り上げ,平易に解説したいという思いを込めて執筆しました。お読みいただけた方には何かしらお役にたてる事と信じていますし,そうなればこれ以上の光栄はありません。

この書籍に関連する記事があります!

Google Gearsでブラウザが万能アプリになる~Webアプリケーションがオフラインでも利用可能に
2007年5月31日のGoogleにとって初の開発者向けイベント「Google Developers Day」で,目玉技術の1つとして発表されたのがGoogle Gearsです。そのコンセプトとは,「Webアプリケーションをオフラインでも動作させる」というものです。

本書のサンプル

本書の一部ページを,PDFで確認することができます。

目次

Chapter1 Google Gearsの全体像

  • 1.1 Google Gearsの概要
    • 1.1.1 Google Gearsとは?
    •  ■Google Gearsの正体■Gearsが登場した背景
    • 1.1.2 Google Gearsの構成要素
    •  ■ローカルサーバ■データベース■ワーカプール
  • 1.2 Google Gearsを使ってみよう!
    • 1.2.1 ダウンロードとインストール
    • 1.2.2 Google Gearsのアンインストール
    • 1.2.3 Google Gearsを利用したサービスを使ってみよう
    •  ■Google Gearsの操作方法■Google Reader■Remember the Milk■Zoho Writer
  • 1.3 Google Gearsがもたらすもの
    • 1.3.1 ユーザにとってのGears
    • 1.3.2 Webサイト制作者にとってのGears
    •  ■オフラインが自サイトにもたらす価値向上を測ることが大事■オフラインに対応するために必要なステップ■Google Gearsに過度に依存したサイトを作成するのは要注意!■Gearsの進化を見据えることも重要
  • 1.4 Google Gearsの将来

Chapter2 Goole Gearsを使用したプログラミング

  • 2.1 Google Gearsプログラミングの基礎知識
    • 2.1.1 Google Gearsプログラミングを行うための準備
    •  ■Google Gearsがインストールされたブラウザ■テキストエディタ■Webサーバ
    • 2.1.2 本書の解説における前提
    • 2.1.3 Google Gearsプログラミングの基礎知識を押さえる
    •  ■Google Gearsの構成要素■オフラインWebアプリケーションにおける処理の流れ
    • 2.1.4 初めてのGearsプログラミング
    • 2.1.5 APIのリファレンス
  • 2.2 ローカルサーバ(1)ManagedResourceStore
    • 2.2.1 ローカルサーバとは
    •  ■ローカルサーバの利用によるWebトラフィックの軽減■ローカルサーバの制限■キャッシュされたファイルの格納先
    • 2.2.2 ローカルサーバを利用するプログラミングの概要(ManagedResourceStore編)
    •  ■リソースストア■ManagedResourceStoreにWebリソースをキャッシュするまでの流れ■MessageResourceStoreを最新状態に同期させるには
    • 2.2.3 サンプルプログラム(1)ManagedResourceStoreの基本
    •  ■このサンプルにおけるマニフェストファイル■このサンプルのプログラムコード
    • 2.2.4 サンプルプログラム(2)更新タスクの状態をチェックする
    • 2.2.5 サンプルプログラム(3)クッキーの利用
  • 2.3 ローカルサーバ(2)ResourceStore
    • 2.3.1 ローカルサーバを利用するプログラミングの概要(ResourceStore編)
    •  ■ResourceStoreクラスのオブジェクトを取得し,APIを利用するまでの流れ
    • 2.3.2 サンプルプログラム(1)ResourceStoreを用いたリソースの取り込み
    • 2.3.3 サンプルプログラム(2)ユーザが選択したファイルの取り込み
    • 2.3.4 サンプルプログラム(3)リソースストア内のファイルをアップロード
    • 2.5.5 APIリファレンス
  • 2.4 データベース
    • 2.4.1 なぜ,データベースが必要か
    • 2.4.2 Gearsが持つデータベースの実際
    •  ■組み込みデータベース「SQLite」■データベースの構造■データベースファイルの格納先
    • 2.4.3 ローカルデータベースを利用するプログラミングの概要
    •  ■① Databaseオブジェクトの作成■② データベースのオープン■③ 利用するテーブルの作成■④ トランザクションの開始(省略可能)■⑤データの操作
    • 2.4.4 サンプルプログラム(1)基本的なデータ操作
    •  ■サンプルプログラムの概要説明■サンプルプログラムの初期処理■サンプルプログラムの検索処理■サンプルプログラムの一覧行クリック時の処理■書籍の新規作成・更新・削除時の処理
    • 2.4.5 サンプルプログラム(2)全文検索
    •  ■Gearsのデータベースでは全文検索も可能■全文検索機能を利用する際のポイント■サンプルプログラム(2)全文検索を可能にした書籍管理アプリケーション■全文検索で使用できるクエリ
    • 2.4.6 APIリファレンス
  • 2.5 ワーカプール 
    • 2.5.1 なぜ,ワーカプールが必要か
    •  ■ワーカとは■ワーカ同士の通信とワーカプール
    • 2.5.2 ワーカプールを利用するプログラミングの概要
    •  ■① WorkerPoolオブジェクトの取得■② onmessage属性にメッセージハンドラをセット■③ ワーカの作成■④ ワーカ同士の通信
    • 2.5.3 サンプルプログラム
    •  ■改善前のプログラム■改善後のプログラム(createWorker版)■改善後のプログラム(createWorkerFromUrl版)
    • 2.5.4 他のオリジンが提供するワーカを利用するには
    • 2.5.5 APIリファレンス
  • 2.6 HttpRequest
    • 2.6.1 HttpRequestとは?
    • 2.6.2 HttpRequestクラスの使用法
    • 2.6.3 XMLHttpRequestとの違い
    •  ■同期通信が行えない■responseXMLプロパティが利用できない
    • 2.6.4 APIリファレンス
  • 2.7 Timer
    • 2.7.1 Timerとは?
    • 2.7.2 Timerクラスの使用法
    • 2.7.3 APIリファレンス

Chapter3 オフラインWebアプリケーションの作成

  • 3.1 オフラインWebアプリケーションを作るにあたって
  • 3.2 オフラインWebアプリケーションのアーキテクチャ
    • 3.2.1 サービスとクライアントのさらなる分離が必要
    • 3.2.2 データレイヤの分離
    • 3.2.3 モード切り替えの有無
    •  ■モーダル(モードを持つ)の場合■モードレス(モードを持たない)
    • 3.2.4 データの同期
    •  ■ユーザの指示による同期■バックグラウンドでの同期
  • 3.3 サンプルアプリケーションで学ぶオフラインアーキテクチャの実際
    • 3.3.1 サンプルアプリケーションの解説(オンライン限定版)
    •  ■サーバが公開しているサービスの定義■AJAXクライアントのソースコード(オンライン限定版)
    • 3.3.2 サンプルアプリケーションの解説(オフライン対応版)
    •  ■Gearsの利用可否を判定する■init(),save()メソッドをオフラインに対応させる■データスイッチの実装■ローカルデータベースに対する処理■ネットワークの状態チェック
  • 3.4 アプリケーション設計上の問題
    • 3.4.1 オフラインでも利用可能な機能を絞り込む
    • 3.4.2 アカウント管理
    •  ■オフライン状態での複数アカウントの管理■オフライン状態でのユーザ認証■複数アカウントのオフラインデータ管理
    • 3.4.3 データベーススキーマの管理
    •  ■サーバサイドにおけるデータ管理構造を不必要に露出させない■データベース定義のアップグレード

Chapter4 Dojo Toolkitによるオフラインアプリケーション作成

  • 4.1 Dojo Toolkitとは?
    • 4.1.1 Dojo Toolkitの概要
    • 4.1.2 Dojo Toolkitのインストール
  • 4.2 Dojoのオフライン対応機能についての概要
  • 4.3 Dojoによるデータベースアクセスの簡略化
    • 4.3.1 dojox.storage
    • 4.3.2 dojox.sql
    •  ■明示的なデータベースのオープンが必要ない■ResultSetをループする必要がない■SQL内の「?」を置換するパラメータをメソッドの可変長引数で指定できる■暗号化に対応
  • 4.4 Dojo Offlineが提供するオフラインフレームワーク(dojox.offパッケージ) 
    • 4.4.1 Dojo Offlineの初期化
    • 4.4.2 オフラインウィジェット
    •  ■オフラインウィジェットのカスタマイズ
    • 4.4.3 ネットワーク状態の監視
    • 4.4.4 同期フレームワーク
    •  ■同期フレームワークの概要■UIを構成するファイルの取り込み■ローカルからサーバへのデータアップロード■サーバからローカルへのデータダウンロード■同期フレームワークのまとめ

Chapter5 Google Gearsを取り巻く環境

  • 5.1 GWT(Google Web Toolkit)によるGearsアプリ開発
    • 5.1.1 GWTとGoogle Gearsの関連
    • 5.1.2 GWTのインストール
    • 5.1.3 Gearsに対応したGWTアプリケーションの開発
    •  ■GWTアプリケーションの開発を始める■Gearsに対応したGWTアプリケーションの開発
  • 5.2 GearsORMによるDBプログラミング
    • 5.2.1 GearsORMの入手
    • 5.2.2 GearsORMの基本的な機能
    •  ■テーブルの作成・削除とモデルクラスの生成■テーブル内のデータを検索するには■テーブルにデータを新規追加するには■テーブルのデータを更新するには■テーブルのデータを削除するには■その他の基本的なトピック
    • 5.2.3 GearsORMのより進んだ機能
    •  ■トランザクション■テーブル間の外部キー制約■モデルのイベント処理
  • 5.3 Adobe Systems製品とGoogle Gearsの関連
    • 5.3.1 Adobe AIRとは
    • 5.3.2 Google Gearsとの関連

Appendix 1 Gearsデータベースリファレンス

  • A.1 SQLiteの特徴的な機能
    •  ■データ型という概念が存在しない■ROWID■データベースが単一のファイルである■sqlite_masterテーブル
  • A.2 GearsにおけるSQLiteの変更点
    •  ■データベースのアタッチが不可能■PRAGMAコマンドは利用できない
  • A.3 SQLiteで利用可能なSQLコマンド一覧
  • A.4 SQLiteで利用可能なSQL関数一覧

Appendix 2 オフラインアプリ開発に役立つツールの紹介

  • Google Gearsが公式に配布するツール
    • ■dbquery.html■webcachetool.html
  • IDE・デバッガ 
    • ■Eclipse■Aptana IDE■Firebug
  • その他
    • ■SQLite(コマンドラインプログラム)■Flex-based SQLAdmin for Google Gears

著者プロフィール

白石俊平(しらいししゅんぺい)

立教大学経済学部を卒業後,派遣SEやベンチャー企業の立ち上げなどを経た後現在のフリーエンジニアに至る。もともとはJava EEエンジニアで,アーキテクチャ構築周りの作業が大好き。2007年現在では,Webや雑誌への執筆作業を主として生計を立てる。稚内北星学園大学東京サテライト校にも学生として所属し,良い師に恵まれてβ版付けの日々を送っている。悩みは数多いが,真っ先に思いついたのはお酒を飲むと電車で寝過ごすこと。余裕を持って帰りの電車に乗ったつもりが,小旅行になってしまうこともしばしば。夢は自作のWebサービスを作って大金持ちになること。