brooklynjs/brooklynjs.github.io — pull request #21 by Rich-Harris (2014-01-25 19:49:50+00:00)
Title: proposal for slot 1 - parsing HTML is too important to be left to browsers

Am resubmitting a proposal from last month (#13), partly because @brianloveswords said I should, and partly because submitting a talk seems like the best way to get a ticket...

Having seen the talks on Wednesday though I'm revising the proposal to make it a better fit for the format - more conceptual and focused. The concept is that throwing HTML at the browser is no longer the best way to build web apps - that worked for static documents, and it kind of worked for apps that make heavy use of client-side string-based templating (e.g. Handlebars), but for a lot of modern apps we need something smarter.

Hence the idea of a UI library ([Ractive.js](http://ractivejs.org)) that parses HTML itself and creates a virtual DOM (a bit like React's) in order to do data-binding and event handling etc. Meteor are currently replacing their UI layer with something that takes a very similar approach, and Ember are replacing Handlebars with 'HTMLBars' which is also a very similar idea, so as counter-intuitive as it sounds, it's the future of UI libraries and MVC frameworks. I think it's a really important idea but I haven't really seen people talking about it yet.