Leopardには間に合わないだろうが、次期Safariは策定の進むHTML 5のClient-side database storageをサポートする最初のブラウザになるかもしれない。
Safariのコアとなる「WebKit」を開発するオープンソースプロジェクトによるブログでその実装が公開された。すでにWindowsおよびMac OS Xで利用可能なバイナリおよびソースコードが提供されている。
Client-side database storageは、ブラウザにローカルストレージを持たせ、JavaScriptを通してこのストレージにSQLアクセスできるというもの。なお、WebKitではデータベースエンジンにSQLite3を採用しているようだ。
この実装を使えば、例えば以下のようなJavaScriptコードでローカルストレージにアクセスできる(コードは上記ブログより引用)。
var database = openDatabase("Database Name", "Database Version");
database.executeSql("SELECT * FROM test", function(result1) {
// do something with the results
database.executeSql("DROP TABLE test", function(result2) {
// do some more stuff
alert("My second database query finished executing!");
});
});
ブラウザにローカルストレージを持たせようという取り組みは古くからHTTP Cookieという形で存在する。しかしCookieには、今時のストレージとしては基本4KBという小さすぎるサイズサポートしかない。一方で、InternetExplorerやFirefox 2にみられるブラウザの独自実装やFlashプラグインを通しても提供されてきた。また、AdobeのAIRやGoogleのGWTという実装も出てきた。しかし、いずれも標準化されたものではない。
Client-side database storageはHTML 5として標準化され、サポート可能な容量の大幅な増加も期待できる。上のような問題を解決し、リッチなWebアプリケーションの開発を促進するものとなるだろう。Appleが開発するSafariは現在、WindowsおよびMac OS X、iPhone・iPod touchで利用可能。また、SafariのコアをAppleがオープンソースとして公開、コミュニティベースで開発の進められているWebKitをベースとしたブラウザはLinuxなどでも提供されている。