Dexie.js es una librería sencilla y concisa para trabajar con la “Indexed Database API” o IndexedDB.
IndexedDB es una manera de almacenar datos de manera persistente en el navegador. Dado que permite la creación de aplicaciones web con capacidades de consulta mejoradas, éstas pueden funcionar tanto en línea como fuera de línea. IndexedDB es útil para aplicaciones que almacenan una gran cantidad de datos y para aplicaciones que no necesitan de una conexión permanente a Internet para funcionar.
También puede ser muy útil para guardar datos en local en una app híbrida por ejemplo.
Ejemplo de uso:
/* |--------------------------------------------- | Make a database connection |--------------------------------------------- */ var db = new Dexie('MyDatabase'); // Define a schema db.version(1) .stores({ friends: 'name, age' }); // Open the database db.open() .catch(function(error){ alert('Uh oh : ' + error); }); /* |--------------------------------------------- | Then run some queries |--------------------------------------------- */ // Find some old friends db.friends .where('age') .above(75) .each(function(friend){ console.log(friend.name); }); // or make a new one db.friends .add({ name: 'Camilla', age: 25 });
Web: dexie.org
Documentacion: GitHub