Javascript Web Applications

Despite my reservations about the inefficiencies of books on technology, I’ve been reading Javascript Web Applications to catch up on the past 2+ years of JS development and understand the emergent client-side patterns. I admit that I haven’t kept up-to-date on the likes of browser frameworks the likes of Sproutcore and Backbone, but what I’m reading is delightful – a lot of the same patterns (implemented in the most ghetto fashion) that I’ve had to develop over the years of trying to organize front-end code.

Javascript is unique that it’s been used as the simplistic programming glue for web designers for years, and even when Web 2.0 sites and early web apps basically cobbled together their own code. It’s only the past two years that Model-View-Controller has been fully embraced, and technologies been built to enforce the design pattern. Furthermore, because the client has to download the entire app codebase, frameworks are motivated to keep their cores light and small.

The increasing complexity of the browser client is going to bifurcate the development community; there is a already book review complaining about the prerequisite Javascript “expertise”, when the concepts being discussed would be standard for a beginner’s book on Rails or CakePHP. At this point, JS isn’t much more than perhaps the Assembly or C of the web, and it’ll take us many more years of building abstractions and systems on top to make it developer-friendly.

This is just the beginning.