Pete Hunt - The Secrets of React's Virtual DOM (FutureJS 2014)
Codegram2 HN recommenders · 2015–2023
75K views · talk · dated · Uploaded 2014-05-26
Pete Hunt explains why React's virtual DOM was built, how it compares with databinding-style systems, and what it means for future browser technology. Recorded at FutureJS 2014 in Barcelona.
Commenters point to it as the clearest explanation of why re-rendering beats tracking data changes, and say it sold them on React.
26:53What the heck is the event loop anyway? | Philip Roberts | JSConf EU
JSConf
36:45Rich Harris - Rethinking reactivity
You Gotta Love Frontend
1:42:09Crockford on JavaScript - Volume 1: The Early Years
YUI Library
37:37RailsConf 2016 - Turbolinks 5: I Can’t Believe It’s Not Native! by Sam Stephenson
Confreaks
1:03:48JavaScript: The Good Parts
Google TechTalks
29:32Pete Hunt: React: Rethinking best practices -- JSConf EU
JSConf
30:41Dan Abramov - Live React: Hot Reloading with Time Travel at react-europe 2015
ReactEurope
36:31Hey Underscore, You're Doing It Wrong!
InfoQ
3 comments from Hacker News
I agree that calling it "React-like" seems misleading. When I read about a 'x'-like library I expect something that could actually replace 'x' and provide nearly the same features. Pete Hunt did a great talk on what actually makes React / virtualdom different from other databinding approaches.[1] Using this definition Riot.js looks a lot more like Angular, Ember et al. to me. [1] [VIDEO]
Performance characteristics are that this increases expsense with the size of your data where as just re-rendering increases expense with the size of your UI. It's actually much more common to have lots of data but only render a small amount of it, so re-rendering is generally cheaper. The size and complexity of UIs have a natural limit because of screen size and usability, but the amount of data you use to generate a UI has essentially no natural upper limit. Pete Hunt gave a talk on exactly this almost two years ago. [VIDEO]
I'll try one last time: > Sorry none of this makes any sense to me. If you're not familiar with the MVC variants (MVVM, MVP, MVI, MOVE)[0][1] we should start there. Next you should read through some common mistakes of Backbone.js like applications [LINK] and some criticisms of MVC on HackerNews in 2012[0]. Finally if you haven't before these talks, they are the ones that sold me on React: - [VIDEO] - [LINK] - [LINK] [0] [LINK] [1] [LINK]