今回はGoogle Gearsを使って,サンプル・アプリケーションを作ってみます。全く白紙の状態から,ローカルのデータベースにデータを入れて,それを抜き出すというところまでやってくれるサンプルを作ります。

gears_init.jsを入手する

 Google Gearsはネットワーク接続がなくても動作するWebアプリケーションを開発できる環境だと謳っています。しかし前回のサンプルは,インターネット上にあるGoogleのサイトからサンプルと同じディレクトリにある二つのjsファイル,gears_init.jsとsample.jsを読み込んでいました。

<script type="text/javascript"  src="gears_init.js"></script>
<script type="text/javascript" src="sample.js"></script>

 HTML内にこの2行がある限り,手元にこの二つのファイルがないとサンプルをローカルで動作させることができません。

 Google Gearsのコアとなるgears_init.jsはGoogleによって管理されています。gears_init.jsのダウンロード・ページというのがGoogle内に用意されています。「Get gears_init.js」というリンクからgears_init.jsをダウンロードします。サンプルが置かれているディレクトリから直接URL(http://code.google.com/apis/gears/samples/sample.js)を指定してダウンロードすることもできますが,サンプルから呼び出しているものが常に最新であるかどうかはわかりませんので,ダウンロードとして公開されているものの使用を推奨します。なお執筆時点ではどちらも全く同じものでした。

 とりあえずデスクトップなどのわかりやすい場所にgears_init.jsをダウンロード保存します。なおFirefoxではJavaScriptのコードがブラウザ画面にそのまま出てしまいます。IEでもブラウザの設定によってはダウンロードではなくてコードが画面に出てしまうかもしれません。この場合は全文を選択してコピーし,テキスト・エディタに貼り付けてgears_init.jsの名前で保存してください。全文英語のJSファイルなので,保存時の文字コードに特に気を遣う必要はありません。

 保存したら内容をざっと確認してください。gears_init.jsは執筆時点のバージョンでは全77行の小さなjsファイルです。内33行は著作権とコメント部ですから,コードそのものは40行程度です。gears_init.jsはGoogle Gearsのコアともいうべきファイルなので,Google Gearsのバージョンが上がっていけば内容は改変されていく可能性があります。継続的に開発を続ける場合は適宜ダウンロード・ページを確認して,最新のものに差し替えていく必要があります。

 なおサンプルで呼び出していた,もう一つのJSファイルであるsample.jsのほうは,名前の通りサンプルを動作させるためのもので,Google Gearsを使って何かを作る際に必須というものではありません。こちらは入手する必要はありません。

ローカルで(とりあえず)動くサンプルを作ってみよう

 Google GearsそのものはJavaScriptで実装されているので,ローカル保存したHTMLファイルでも問題なく動くはずです。“最低限の”Google Gearsサンプルをまず作ってみましょう(リスト1)。

リスト1:最低限のGoogle Gearsサンプル

<html><head>
<title>ローカルサンプル</title>
<script type="text/javascript"  src="gears_init.js"></script>
<script type="text/javascript">
//--------------ここは定型です---------------------------------
// Google Gearsがインストールされているかチェック
if (window.google && google.gears) {
  // Gearsオブジェクトの初期化
  var db = google.gears.factory.create('beta.database', '1.0');
  db.open('test');
}
//--------------ここまで定型です-------------------------------
</script>
</head>
<body>
<p>何もしていないけれど,これは立派なGoogle Gearsアプリケーションです</p>
</body>
</html>

 このサンプルをtest.htmlなどの名前でデスクトップに保存してください。先ほどダウンロードしたgears_init.jsもデスクトップに置いておきます。test.htmlはコード内でgears_init.jsを読み込んでいるため,同じフォルダ(デスクトップもフォルダです)に必ずgears_init.jsがなくてはなりません。

 準備が整ったらtest.htmlをダブルクリックします。IEの場合セキュリティ警告が出ますが許可してください。Google Gearsからセキュリティ警告が出ますから「Allow」で許可します(図1)。「何もしていないけれど,これは立派なGoogle Gearsアプリケーションです」とだけ書かれたページが表示されます(図2)。

図1:Google Gearsのセキュリティ警告

図2:初めてのGoogle Gearsアプリケーション

 Google Gearsのセキュリティ警告は一度「Remember my decision for this site」をチェックすれば出なくなります。この警告ですが,Google Gears全体で「警告を次から出さない」の意味ではなくて,サイトごとに警告をするかしないかになります。図にあるように真ん中水色の帯の部分に「File://<no domain>」とあります。Googleで公開されているサンプルでは,ここにGoogleのURLが出ていました。今回は完全なローカルファイルで動作させたため,http://ではなくfile://になっています。

 リスト1の中にある「ここは定型です」の部分に注目してください。データベースを使用する場合の定型処理です。ローカルファイルかインターネット上のHTMLソースかを問わず,Google Gearsでデータベースを使用する際には必ずこの定型部を書きます。1カ所だけ用途に応じて書き換えてください。

 最後にでてくる処理

db.open('test');

は,「test」という名前のデータベースを開いています。db.open();のようにデータベース名を指定しなくても使えます。ただ一般的なアプリケーションの開発で,データベース名を明示しないというのは,他のGearsアプリケーションと競合してしまう可能性もあって,あまりよくありません。アプリケーションごとに独自な名前でデータベースを作るのがいいでしょう。MySQLなどと違って,SQLiteではopenしたときに指定されたデータベースがなくても,勝手に新規データベースを作ってくれます。

 このサンプルはデータベースを作るということまでしかしていなくて,それ以上は何もしません。しかしGoogle Gearsの警告がちゃんと出たことからわかるように,Gearsアプリケーションとして最低限の条件は満たしています。