HTML5 Web SQL の正体

なんか、正体などと書くと、いかがわしいもののようですが、結論を書けば、Chrome の Web SQL は SQLite でした、ということです。

データベースファイル自体の所在は、[cci]~/Library/Application\ Support/Google/Chrome/Default/databases/[/cci] 以下に、URL っぽいフォルダがあって、その中に収まっています。

うちの Mac (Mac OS X 10.6.8) に最初からはいっている SQLite (sqlite3) は、version 3.6.12 でしたが、これで問題なく、閲覧などはできました。

今までは、いちいち AppleScript を併用して、[cci]do shell script[/cci] していたのですが、Chrome なら、直接 SQLite のデータベースファイルができるので、その方がスマートそうです。

HTML5 Web SQL

JavaScript でも SQL が使えるということで試してみたのですが、これ、とっても使いやすくて、使いにくいです。

使いやすい部分は説明は不要だと思うので、使いにくい部分を説明すると、例えば、リンゴの値段がデータベースに記録してあるとして、リンゴの値段を返す関数を書こうと思っても、すんなりと書けないんです。

[cci_JavaScript]SQLTransaction.executeSql[/cci_JavaScript] にコールバックを渡す仕組みになっている以上、値を戻すのではなくて、この関数の呼び出し元も、また同じくコールバックを渡す、ということが必要になるわけです。

今は、昔ながらの上から下に流れるスタイルで開発してしまっているので、この部分だけコールバックに書き直すは面倒くさいです。

それはそうと、以前、筆まめが吐き出した ContactXML からデータを抽出する作業を JavaScript と AppleScript を組み合わせて行ったのですが、HTML5 Web SQL を使えば、完全にブラウザだけで筆まめと同等か、それ以上の処理ができてしまいそうです。