About JavaScript MVC frameworks
These JavaScript frameworks aren't some new revolutionary technology or a new discovery; they are all still using the same old faithful JavaScript. These JavaScript frameworks merely provide a layer of abstraction (if I may) or a more Model-View-Controller-like architecture, so that we can be more productive while building apps and don't really have to worry about mundane things.
The credit for the rising popularity of these JavaScript frameworks would go to this surge of JavaScript-based highly interactive and rich Internet applications that nowadays do so much more than just displaying data received from a backend server. All of this is possible thanks to the modern day browser and their JavaScript engines that have become faster and powerful.
There has nearly been an explosion of these JavaScript MVC frameworks, and every other day, we see a new framework being launched. While most people consider Backbone.js or SproutCore to be one of the first JavaScript frameworks, I would say Ext JS by Sencha has been among the first JavaScript frameworks and one that is still being extensively used in the corporate world mainly to build finance apps. While Backbone.js and SproutCore were launched in 2010, Version 2.0 of Ext JS was launched towards the end of 2007.
AngularJS too was launched somewhere in 2010. Around the same time, other JavaScript frameworks were sprouting up. However, it is probably the fastest growing framework in terms of user adoption, mainly due to the "wow" factor and also the backing from the big G.
Each framework has its own pros and cons, and ideally the choice of the framework would depend on the nature of your project.
Note
http://www.todomvc.com/ is a very nice site to understand and compare the functioning of these JavaScript frameworks.
AngularJS is currently the most popular JavaScript MVC framework. Some of the reasons for this would be as follows:
- It's among the simplest to learn
- It follows some of the best software-engineering concepts, and is ideal to build large, scalable apps
- It has a robust testing framework to run Unit tests and End-to-End tests, thus making it easy to write and run automated test cases
- It also allows for teams to work in parallel on a single application without stepping over each other's work
- It has the fastest growing community of adaptors, and the AngularJS Google Groups and IRC chats are a great place to interact with others