Dexie.js é uma biblioteca simples e concisa para trabalhar com o “Indexed Database API” ou IndexedDB.
IndexedDB é uma maneira de armazenar dados persistentemente no navegador. Dado que permite a criação de aplicações web com recursos de consulta avançada, estes podem ser executados on-line e off-line. IndexedDB é útil para aplicativos que armazenam uma grande quantidade de dados e aplicações que não necessitam de uma ligação permanente à Internet para funcionar.
Também pode ser muito útil salvar dados em local em um aplicativo híbrido por exemplo.
Exemplo 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
Documentação: GitHub