Client side frameworks, the new hotness
A recent article on javascript frameworks and the almost inevitable switching of focus to client based development from the server-side for web applications has left the blogosphere all in a tizzy. ‘Rails is just an API’ couldn’t have targeted a more grasping and rant happy clientele, given that the Rails framework is held in an almost messianic regard by certain sections of the web development community. The gist of the article is that with rich client side frameworks such as backbone , knockout and batman the server side elder statesmen like Rails, Django and ASP.NET MVC will be relegated to being JSON providers with a bit of authentication sprinkled on top.
One of the triggers for these observations is the release of the new version of Basecamp from 37signals. The original Basecamp being the application from which the Rails framework was first extracted. Instead of embracing the new client side ideology it appears that 37signals went out of their way to avoid a javascript front end and have been triumphantly tweeting about the lack of such. Compare and contrast with Twitter itself which heavily uses javascript to render the entire interface. We are now at a point where browsers can support extensive rich interfaces whereas before switching an image on mouse-over was a somewhat mind-blowing feat. The support will only improve, browsers will only get faster, so it appears that the snubbing of client-side javascript for the release of one of the premier web apps is not only short sighted but predicated on supporting the now almost long in the tooth Rails framework’s appearances to web developers. While no one can blame them for rah-rah-rah-ing their own framework it runs, some say, against the clear direction web development is heading.
For our own part we recently have been using Knockout.js to develop a rich and responsive search interface for one site in development. The framework has been a joy to work with and it’s clear that this will be a useful tool to use in future and it’s capabilities will even be in mind when we build other sites that could benefit from rich interaction. One caveat is that, for now, such frameworks are useful mainly for web application development and not simple websites. Given that much of the interface will be created by templates on the user end it currently impacts SEO, and so is best left to un-crawlable pages behind log-ins. That might not be the case for long as the Google bot has been executing javascript for some time and may soon be able to emulate a full browser, letting the use cases expand for these frameworks.
What do you think of these javascript frameworks? Are they the future? Let us know.