Has anyone checked out the linked framework benchmark[0], and some of the other frameworks linked in there? I had not heard of surplus and S.js before, but they look like an interesting combo[1][2].
Their reasoning for why surplus uses real dom nodes seems pretty solid[3]. My oversimplified TL;DR: a virtual DOM mainly solves the problem of JavaScript not being reactive; the DOM already is. So if you have an efficient general solution for adding reactivity to JS, the need for a virtual DOM is reduced as well, and removing it then saves on the performance / complexity / interop overhead that it would add.
And S.js looks like pretty sweet reactivity library, even without surplus - lots of fine-grained control options too.
Their reasoning for why surplus uses real dom nodes seems pretty solid[3]. My oversimplified TL;DR: a virtual DOM mainly solves the problem of JavaScript not being reactive; the DOM already is. So if you have an efficient general solution for adding reactivity to JS, the need for a virtual DOM is reduced as well, and removing it then saves on the performance / complexity / interop overhead that it would add.
And S.js looks like pretty sweet reactivity library, even without surplus - lots of fine-grained control options too.
[0] https://github.com/krausest/js-framework-benchmark
[1] https://github.com/adamhaile/surplus
[2] https://github.com/adamhaile/S
[3] https://github.com/adamhaile/surplus#why-real-dom-nodes