Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Being a relatively new web-developer I am surprised that these libraries didn't exist before. Is there a particular technical or historical reason that at around Sep 2010, a sudden development and interest in client-side javascript RIA applications and libraries?

http://www.google.com/insights/search/#q=backbonejs%2Cangularjs%2Cknockoutjs%2Cjquery%20tmpl&cmpt=q

share|improve this question
add comment

2 Answers

up vote 3 down vote accepted

I would say its just a matter of enough developer mindshare, combined with node.js invigorating the JavaScript community, combined with html5 hitting its stride. The fact is that these libraries are certainly not the first, even if they do have a sort of new breed feel to them.

Not that it matters because it's still closed source, but my company created a rich client side JavaScript framework with many of the same ideas as the ones you mention - client side templating, data binding, MVC, REST based data services, automatic lazy loading, build tools, etc. And we've been doing it since 2008. Other frameworks have certainly cropped up in that time period as well before backbone, too. JavaScriptMVC has been around forever, and sproutcore too.

share|improve this answer
3  
Closed source :(. Y u no help JS community? –  Raynos Nov 9 '11 at 3:42
2  
Believe me, I've been an advocate of that, and I think it's on the table, but it takes a lot of resources to untangle the proprietary stuff, clean up the docs, etc. It's a beast of a framework, nothing as simple as backbone. –  Russell Leggett Nov 9 '11 at 4:01
add comment

Mainstream Javascript engines added JIT (Just In Time) compiling around that time. Mozilla added TraceMonkey to Firefox, Google added Crankshaft to v8 around that time as well. John Resig mentioned TraceMonkey when it was just coming out.

These optimizing runtimes improved javascript performance in browsers by an order of magnitude. Before then, javascript engines just weren't fast enough to do on the client side. In particular, Angular's method of doing data-binding using dirty checking would have been unworkable in javascript engines before 2010.

It also helped that around that time HTML5 was really starting to come together, and the differences between browsers started to diminish. That made it easier to develop rich javascript applications without having to worry quite so much about adding workarounds for each different browser.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.