Dexie : le wrapper qui facilite grandement l'utilisation d'IndexedDB

Bien que pratique, localStorage ne devrait pas être utilisé pour persister les données d'une application mobile hybride vouée à être poussée en production. Le contenu de localStorage peut en effet être supprimé sur un device dont l'espace disque commence à être très faible. IndexedDB est ainsi plus sûr. Mais ses APIs bien moins intuitives que celle de localStorage.
Les APIs de IndexedDB ne sont pas intuitives à utiliser. Pourtant, vous souhaitez utiliser IndexedDB pour ses plus grandes stabilité et richesse que celles proposées par localStorage. Il est temps de vous intéresser à Dexie.

Dexie

Dexie est un wrapper d'IndexedDB. Il vous épargne le fardeau de vous y retrouver dans les APIs complexes d'IndexedDB.

L'installation est simple : un simple npm install suffit

npm install dexie --save  

Dexie peut en outre facilement être utilisé avec TypeScript. Les "Typings" sont en effet fournis avec le package npm. Aussi, il ne faut PAS utiliser tsd ou typings pour ajouter de type definitions : ils sont en effet compris avec la lib et référencés dans le package.json de dexie

"typings": "dist/dexie.d.ts"  

Etant donné que Dexie repose sur les transactions de IndexedDB, les promises que certaines de ses méthodes retournent ne sont PAS les promises d'ES6 mais sont aussi simples à utiliser, car elles exposent la même interface.

Dexie sur npm : dexie