Where does this statistic come from? I only see 196 stars on github at https://github.com/Irrelon/ForerunnerDB
Plus I've been really impressed with the development team—responsive to issues, consistent releases, high code-quality. It's a great project!
[1] http://pouchdb.com/ [2] https://github.com/nolanlawson/pouchdb-find [3] https://github.com/cloudant/mango
[1]: https://github.com/Irrelon/ForerunnerDB/blob/master/package....
Imagine if we had to acknowledge every different module we pulled in on NPM for every project we wrote... do you do that?
I just think it's nice to give a little credit where credit is due. :) I do see that you mention LocalForage in the changelog, but a shout-out on the site would be cool as well.
For my own part, PouchDB is pretty heavily based on LevelUP (in Node.js anyway), so we're sure to document it on the website: http://pouchdb.com/adapters.html#pouchdb_in_node_js
"Plaid fingerstache craft beer" is probably my favourite.
What is the point in a browser based NoSQL database? Browser persistence?
That is one of the best reasons for a browser based database. Imagine that your web application needs to show a list of users and then allow that list to be filtered with search or by user type or age or whatever. Instead of having to write complex logic to loop your array of user objects that you got back from your server, or ask the server directly, you can instead apply a query to the list you already have on screen and it instantly updates to reflect the query you specified...
This allows you to use an MVC pattern when creating your web applications instead of littering your code with complex locked-in logic that will suffer instant code rot and be generally a pain to maintain after a month or two of development.
However, I think it would be helpful to communicate this as a wrapper around IndexedDB instead of positioning it as another new DB.
Is it doing more than wrapping over IndexedDB / LocalStorage?
I'd say, a nice wrapper for IndexedDB is a welcome thing (looks like minimongo already does that). And there's a lot of space to grow in that (providing change events, etc).
Maybe I just don't get the value prop?
Maybe the value prop only really shows up when you integrate the data binding? So it's sort of like reactive programming but based on a structured data store, instead of raw JS objects?
ForerunnerDB is actually very efficient at updating the DOM, only making changes to the parts of the DOM that link to altered sections of an object / document.
> Is it doing more than wrapping over IndexedDB / LocalStorage?
Yes much more... it includes views, triggers / change events, transforms, collection joins and the obvious big one - data binding.
> Maybe the value prop only really shows up when you integrate the data binding? So it's sort of like reactive programming but based on a structured data store, instead of raw JS objects?
This is correct and because we've been using it in production for some time we would definitely say it makes web app development a lot simpler!
* For NoSQL, ForerunnerDB sounds interesting. As IndexedDB has a flawed API and slow (using SQLite!) and buggy implementations - without a shim useless.