IE10で動くHTML5アプリ実装例 「Indexed Database APIを使用したフィード取得アプリ」

CodeZine / 2012年4月18日 14時0分

記事をクリックすると内容が表示されます

 本連載は、「Developers Summit 2012」(デブサミ2012)において、2月16日に行われた日本マイクロソフト株式会社 春日井 良隆氏によるセッション「次期Internet Explorer、IE10とHTML5 API」(セッション資料はこちら)をもとに、Internet Explorer 10の新機能やHTML5 APIとの関連について、3回に分けて特集します。第2回目の今回は、Indexed Database APIを使用し、フィードリーダーアプリを作成してみましょう。

■はじめに

 Internet Explorer 10(以下、IE10)ではIndexed Database API(以下、IndexedDB)が初めて実装されました。IndexedDBは現在W3CのWorking Draft(英語)として公開されています。

 IndexedDBとはブラウザ内で動作するNoSQLデータベースで、JavaScriptのオブジェクトをそのまま保存、または読みだすことができます。IndexedDBの最大の特徴は、保存されたJavaScriptのプロパティ値に対するインデックスを持つことができ、オブジェクトの高速な検索が可能となっています。また、オフラインの状態でもデータの読み書きを行うことができ、ブラウザを終了してもデータは消去されないことから、デスクトップアプリと比べても遜色が無いようなオフラインWebアプリケーションを作成することも可能です。

 今回の記事では、RSSフィードリーダー「IDB Feed Reader」を題材として、IndexedDBの機能をおおまかに見ていくことにします(このデモは、Developers Summit 2012のセッション「次期Internet Explorer、IE10とHTML5 API」で使用したものと同じです)。

IndexedDBを使用したRSSフィードリーダーのデモのスクリーンショット


記事をクリックすると内容が表示されます


 このサンプルにアクセスすると、登録されているURLからフィードを読み込んで、すべてのフィードをIndexedDBに保存します。以降は既読や未読の管理、スターの付け外しなどの処理は全てIndexedDBを対象として行われるため、同じ処理をサーバに対して行うアプリケーションに比べて、非常に高速に動作します。

 では、以降はサンプルからコードを引用しながら、IndexedDBプログラミングについて全体的な解説を行います。このデモンストレーションのソースコードは、こちらからダウンロードすることができます。


CodeZine

トピックスRSS

ランキング