昨日21日に大阪・福島の日本マイクロソフト関西支店で開催されたプログラミング生放送勉強会 第15回@大阪で、「明日から使えないIndexedDB」というタイトルで発表しました。
発表に使ったスライドはこちら。
http://lab.mzsm.me/pronama15/
生放送のタイムシフト視聴はこちら。終了しました
(1時間22分ごろから)
アーカイブ動画はこちらです。
1件のコメント
I'm just a drunk programmer.
昨日21日に大阪・福島の日本マイクロソフト関西支店で開催されたプログラミング生放送勉強会 第15回@大阪で、「明日から使えないIndexedDB」というタイトルで発表しました。
発表に使ったスライドはこちら。
http://lab.mzsm.me/pronama15/
生放送のタイムシフト視聴はこちら。終了しました
(1時間22分ごろから)
アーカイブ動画はこちらです。
僕の名刺には肩書きに「主任研究員」って書いてあるんですけど、実際のところは作成時のノリとシャレで決めた肩書きであって社内的な意味は全くありません。
でもまぁ、せめて名前負けしないように、ネタ的なサービス・アプリばかり作ってるわけじゃないことをアピールしようということで、たまにはマジメな技術記事でも書くことにします。
さて。
最近お仕事で、広義の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の基本的な使い方のサンプルコードとその説明をまとめました。以前の仕様からソースコードの書き方が変わった場合はその違いについても触れています。