Skip to content

Storage libraries

adrianmay edited this page Sep 16, 2014 · 19 revisions

These libraries allow you to persist data across browser sessions. Usually they use HTML5 Local Storage and some other tech as fallback.

See Bower search for Store for a list of client-side storage utilities wrapped as a Bower component and which will remain more up-to-date than this list.

  • Rhaboo - Makes JS objects persistent directly. Just replace occurences of a.b=c with a.write('b',c). Nested objects and array operations supported. Fast because not just stringify/parse. Only relies on localStorage.
  • AmplifyJS - supports IE 5+, Firefox 2+, Safari 4+, Chrome, Opera 10.5+, iPhone 2+, Android 2+ and provides a consistent API to handle storage cross-browser.
  • Store.js - supports IE6+, Firefox 2+, Safari 4+, Chrome 4+, Opera 10.5+ and has a consistent, simple API for handling storage on different browsers.
  • JayData - Official site: - jayData is a standards-based, cross-platform Javascript library and a set of practices to access and manipulate data from various online and offline sources.
  • Data.js - Data Manipulation and Graph Persistence for Node.js and the Browser.
  • Kizzy
  • PersistJS
  • jStorage
  • Lawnchair - Sorta like a couch except smaller and outside, also, a client side JSON document store. Perfect for webkit mobile apps that need a lightweight, simple and elegant persistence solution.
  • Artemia - Artemia is a clientside JSON document store like Lawnchair (in the way of CouchDb). It's very very (and very) inspired by Lawnchair (he copy many aspects, normal, i love Lawnchair) but has some specific features (like modules).
  • TaffyDB
  • meelo-store
  • Gazel
  • PouchDB - Portable implementation of CouchDB
  • BankersBox - A redis-like wrapper for javascript data storage using localStorage as the default persistent data-store.
  • lostorage.js
  • sql.js - SQLite realisation on JS

In addition you might want to check out filer. It wraps HTML5 Filesystem API. See also this article.

Something went wrong with that request. Please try again.