コンテンツにスキップするには Enter キーを押してください

タグ: HTML5

IndexedDBに関する覚書 (2011年12月版)

僕の名刺には肩書きに「主任研究員」って書いてあるんですけど、実際のところは作成時のノリとシャレで決めた肩書きであって社内的な意味は全くありません。
でもまぁ、せめて名前負けしないように、ネタ的なサービス・アプリばかり作ってるわけじゃないことをアピールしようということで、たまにはマジメな技術記事でも書くことにします。

さて。

最近お仕事で、広義のHTML5と呼ばれるところのJavaScript API、特にIndexed Database API(以下、IndexedDB)を触っています。

このIndexedDBはクライアントサイド(ブラウザ)にNoSQLのDBを持てる仕組みで、現在のところFirefox(4~)とChrome(11~)で実装されており、気になるIEも次期バージョンの10から実装されることになっています。

ちなみにWeb SQL DatabaseというこちらはSQLiteベースの別の仕組みもあり、こちらはChromeやSafari、Opera(10.5~)などで実装されていたのですが、こちらは諸事情により2010年11月に仕様策定が断念されてしまいました。
そんなわけで今後、Web SQL DatabaseがIEやFirefoxで実装されることはありません。
とはいえ、モバイル環境ではMobileSafariやAndroidBrowser、MobileOperaといった主要ブラウザで実装されている一方、IndexedDBはどのブラウザでもまだ実装されていないため、モバイル環境に限って言えば今後しばらくはWeb SQL Databaseが活躍する機会はあるでしょう。

さて、クライアントサイドにDBを持てると何が嬉しいのかというと、例えばGmailのようなメールアプリケーションならば予めメールデータをダウンロードしてDB内に保存しておいて、以降はそこからデータを参照するようにすればオフライン環境になってもメールを読むことができる、といったような使い方が考えられます。

ところで、IE10で利用できるということは、Windows8のメトロスタイルアプリでも利用できるということでもあります。
その証拠に、MSDNメトロスタイルアプリのデベロッパーセンターの中にもIndexedDBのドキュメントが存在しています。
IndexedDBはWindowsアプリを作る上でも重要な技術になっていくことが期待できますね。

・・・が。

このIndexedDBはいまもまだワーキングドラフト(WD)の段階であり、仕様がちょくちょく変わっています。
最近も、つい先日12月6日に新しいWDが公開されたところです。
そのため、同じように「対応ブラウザ」とされていても、バージョンによって実装が違っていたりします。

Web上にもいくつかチュートリアル的な記事があるのですが、最近のバージョンのブラウザでは動作しなくなってしまったものがほとんどだったり…(-_-;)

そんなわけで、先日公開されたWDを基準として、今リリースされている最新版およびプレビュー版のブラウザで動くIndexedDBの基本的な使い方のサンプルコードとその説明をまとめました。以前の仕様からソースコードの書き方が変わった場合はその違いについても触れています。


2件のコメント

自分のTwitterアカウントを簡単に他人に教えられるスマートフォン向けサービス qiQR.mobi 公開しました

最近よく「さらそばの人」と呼ばれます。mzsmです。

さらそば岬については記事を書こうと思ってたんですが、タイミングを逃したので多分書きません(´・ω・`)

さて。
昨日ですが、スマートフォン向けサービス「qiQR.mobi」をリリースしました。


コメントする