To me, the benefit of using JavaScript frameworks in an application cannot be overstated. Though I’m also a fan of server-side frameworks, there is scarcely a reason not to use a client-side framework these days. Of course the most common complaint against JavaScript frameworks is “bloat” and the long download time. Funny that the most vocal of those complaining about the frameworks’ download time are those who haven’t even ever used a framework to experience it’s benefits. The tradeoff of course is a noticeable load hit for some users on slower connections vs. architectural elegance, much higher productivity, more maintainability, and less code in general. To me in most cases the trade-off is a no-brainer in any sufficiently modern web application, but not to all.
Released recently is the Google Ajax Libraries API which is basically a way of allowing browsers do download only one version of a given framework for all applications using that framework. Currently most web applications host their own version of a given JavaScript library, which is inefficient across the spectrum of the internet since many sites are using the exact same library. With Google Ajax Libraries you essentially reference Google’s hosted version of the library and the download hit is only incurred the first time a user visits any site using that framework. So it’s quite likely that a user going to your site won’t have to download a thing – it’s as if the framework is at that point simply part of the user’s browser.
Of course this only works if it becomes widely used and I sure hope it will. I’d encourange all developers to start using this in their production environments (development environments should still use local copies for local development:
Google AJAX Libraries API
Rails Plugin for Google AJAX Libraries API


