I was at rubyconf today talking to a guy who hates building web apps. I think a lot of developers feel this way, even a lot of web developers. I know I did, to some degree, even though I would tell you (and believe that) deploying software as a web application is the best way to go for most cases. What was interesting to me in talking to the guy were some of the reasons he gave:
- Web apps are just way too chatty. Every time I want to do anything it’s a round trip to the server to figure out what to do next
These are rough paraphrases; hopefully the speaker, should he read this post, will forgive me. But I think these are common reactions. And if you read no further in this post, here’s the TL;DR: they no longer apply. These reactions are based on the way we’ve built web apps for the past 10 years or so. But now it is time to stop.
But of course AJAX came along to rescue us from all this. So what, right? AJAX is not new, it’s been mainstream for 5 years, at least. But believe it not, it’s full potential is really just now starting to be realized. The full potential is that it frees us from tying user actions to a request/response cycle. But to realize this potential, we need to completely change the way we build web applications. As in, throw away almost everything you knew, including (most of) your server side framework. As in, if you’re building a web application with the existing “state of the art” approach, you are a writing instant legacy code.
So what do we do? It’s time to re-tool: that server side framework is on the wrong tier. We need to move it to the client. Backbone.js is the best client side MVC framework I’ve used, but there are certainly others.
As you’ve probably picked up, I’m pretty passionate about this stuff. Part of it is that I’m so pumped that I finally have good solutions to problems that have been vexing me for years. But I also want to help others get on board. A lot of folks already are, but if you’re not, or just want help getting there we got your back. Gaslight Software is offering our training class, Beautiful Front End Code with Backbone and Coffeescript in San Francisco on November 7th and 8th.