Backboneにも対応しているのがポイント高いかも! HTML5にはオフラインに対応するために幾つかのストレージ機能が提供されています。localStorage、IndexedDB、さらにWebSQLも一部のブラウザでサポートされています。 キーバリュー型のシンプルな非同期型ストレージを提供してくれるライブラリlocalForageがMozillaよりリリースされました。

localForageの使い方

APIとしてはlocalStorageライクになっています。特徴的なのはコールバックを受け付けるということでしょう。

localforage.setItem('key', 'value', callback);

データを取り出す場合も同じくコールバック対応です。

localforage.getItem('key', alert);

コールバックではなくチェーンメソッドもサポートされています(Promisesと言うのですね、知りませんでした)。

function doSomethingElse(value) {
    console.log(value);
}

// With localForage, we allow promises:
localforage.setItem('key', 'value').then(doSomethingElse);

実行例です。

Backbone.jsに対応しており、コレクションやモデルのデータをローカルストレージ上に保存できます。対応ブラウザは多様で、

  • Android Browser 2.1
  • Blackberry 7
  • Chrome 23 (Chrome 4.0 with localStorage)
  • Chrome for Android 32
  • Firefox 10 (Firefox 3.5 with localStorage)
  • Firefox for Android 25
  • IE 10 (IE 8 with localStorage)
  • IE Mobile 10
  • Opera 15 (Opera 10.5 with localStorage)
  • Opera Mobile 11
  • Phonegap/Apache Cordova 1.2.0
  • Safari 3.1

となっています。WebSQLなど対応していないブラウザは他の技術で代用する形になります。スマートフォン、デスクトップの両方で使えるのが便利ですね。

localForageはJavaScript製、Apache License 2.0のオープンソース・ソフトウェアです。

localForage by mozilla mozilla/localForage