52 karma · joined October 14, 2011
This modifies the existing library and adds element morphing between pages. The elements only require the same id across pages, they do not need to be children of the same component.
It's not perfect yet but thought I'd release what I've done so far.
The link is in a serverless container that ramps up and down based on usage so if the page takes ages to load its because the container hasn't been hit in a while.
Imagine if we had to acknowledge every different module we pulled in on NPM for every project we wrote... do you do that?
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.
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!
I'm just one guy working on this in my spare time (I have a full-time day job too) so things move a little slower sometimes that I would like! Currently looking for investment to get a full team to help!
Regarding the Node.js requirement, there is an offline version of the engine that runs on any standard web-host. It has all the network and server-side code stripped out.
Agree that the demo page has a lot to read, but it's written for developers rather than players so tech info is there to explain what the demo is showing (and what it's not).
A much more complete demo is on it's way I promise! :)