July 20–24, 2015
Portland, OR

Stop writing Javascript frameworks

Joseph Gregorio (Google)
1:40pm–2:20pm Thursday, 07/23/2015
Architecture Portland 251
Average rating: ***..
(3.83, 12 ratings)
Slides:   external link

Prerequisite Knowledge

Familiarity with web development.


For a long time the web platform, the technology stack most succinctly described as HTML+CSS+JS, was, for lack of a better term, a disaster. Who can forget the IE box model or the layer tag? I’m sure I just started several of you twitching with flashbacks to the bad old days of web development with just those words.

For a long time there was a whole lot of inconsistency between browsers, and we, as an industry, had to write frameworks to paper over them. But something else has happened over the past ten years: browsers got better. Their support for standards improved, and now there are evergreen browsers. These are automatically updating browsers, each version more capable and standards-compliant than the last. With newer standards like HTML Imports, Object.observe, Promises, and HTML Templates, I think it’s time to rethink the model of JS frameworks. There’s no need to invent yet another way to do something, just use HTML+CSS+JS.

This talk will cover the material in the blog post: http://bitworking.org/news/2014/05/zero_framework_manifesto, but will also go into implementation experience from building and shipping framework-free applications for the past year.

Photo of Joseph Gregorio

Joseph Gregorio


Joe Gregorio is a software engineer working on the Skia graphics library at Google. He is the editor of the Atom Publishing Protocol, co-author of the URI Templates spec, and has a deep interest in web technologies, writing “The RESTFul Web” column for the online O’Reilly publication XML.com, writing the first desktop aggregator written in C#, and publishing various Python modules to help in putting together RESTful web services such as mimeparse, httplib2, and the google-api-python-client. He’s interested in Go, Polymer, Web Components, REST, web services, Python, APIs, URI Templates, Atom Publishing Protocol, big data, or any linear combination of such.