knockout / tko

🥊 Technical Knockout – The Monorepo for Knockout.js (4.0+)
http://www.tko.io
Other
275 stars 34 forks source link

Experimenting with different renderers #4

Open far-blue opened 8 years ago

far-blue commented 8 years ago

Over the last couple of years some fundamentally different techniques to approaching DOM manipulation / rendering have appeared (e.g. virtual DOM and incremental DOM) and browsers have gained new DOM 'superpowers'. Each technique has shown itself to be better or worse at different types of application and a number of frameworks are currently trying to claim they are the best based on these different rendering styles.

However, Knockout's real skill is in its Observables, not how it updates the DOM.

I see a possibility here, with the componentisation of KO, for some experimentation with different rendering techniques to see whether any of them are better suited to normal KO style apps than the current system. I also think the resulting plug-able architecture would allow those wanting to use KO in different ways to do so but with a different renderer.

The experimentation might also show that less code is needed in KO for things like array change tracking and when DOM content needs re-building during 'with' context changes if something like a virtual or incremental DOM style of rendering was used. I'm not saying it would - but I think it worth the experiment to find out :)

brianmhunt commented 8 years ago

Absolutely - agree on all points - thanks for adding the note :)