Can't speak for other frameworks, but what I've been trying to do with Mithril.js (a new virtual-dom based framework) is to try to keep things as close to the metal as possible, and as grounded on mature concepts as possible.
I think the underlying appeal of virtual dom is not so much the internal gymnastics that it performs to enable efficient rendering, but that it leverages knowledge rather than code, i.e. we already know how for loops and functional composition work already, and these things are baked into the language, so there's no need for a framework to re-implement them. I talked about this idea in a presentation I gave at TorontoJS ( slides are here http://lhorie.github.io/mithril-presentation-oct-js-tech-nig... )
I think if we want any hope in taming high churn, we need to be able to focus on core principles so that we can find the right axioms, and only produce code if it's an inevitable requirement to achieve that goal.
I've looked at Mithril and I like a lot of the design decisions you've made. I'm just a little reluctant to invest in something so far out of the mainstream. Of course, when the mainstream changes every three months, maybe there's not so much value in following the herd after all?
When I'm inevitably rewriting the frontend in a few years, or creating a new one, I imagine the current state of the art is going to be different enough that the decision doesn't really matter. I feel justified in this after seeing how much Angular 2 is going to change things.
I think the underlying appeal of virtual dom is not so much the internal gymnastics that it performs to enable efficient rendering, but that it leverages knowledge rather than code, i.e. we already know how for loops and functional composition work already, and these things are baked into the language, so there's no need for a framework to re-implement them. I talked about this idea in a presentation I gave at TorontoJS ( slides are here http://lhorie.github.io/mithril-presentation-oct-js-tech-nig... )
I think if we want any hope in taming high churn, we need to be able to focus on core principles so that we can find the right axioms, and only produce code if it's an inevitable requirement to achieve that goal.