1.Angular JS: Developed by Google; used internally by them.
2.Backbone:Jeremy Ashkenas and DocumentCloud.
3.Batman:the team at Shopify (an eCommerce platform company)
5.Ember:Yehuda Katz (formerly of jQuery and Rails), the Ember team, and Yehuda’s company Tilde.
6.Meteor: The Meteor development group, who just raised $11.2 Million so they can do this full-time.
7.Knockout:The Knockout team and community (currently three on the core team)
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions,views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
Size: 17kb, 5.6kb, Packed and gzipped
Extension：underscore.js 40kb，4kb Minified and Gzipped
Helpful methods to manipulate and query your data.
Does not force you to use a single template engine.
It doesn't depend on stuffing application logic into your HTML.
Synchronous events (Underscore.js ): View update automatically.
Backbone scales well, from embedded widgets to massive apps.
Backbone is a library, not a framework, and plays well with others.
"Two way data-binding" is avoided, using json.(rivets.js,Backbone.stickit )
There's no built-in performance penalty for choosing to structure your code with Backbone. thin models and templates with flexible granularity .
Size：160kb; 40k min+gzip
extremely rich templating system with composed views and UI bindings.
Ember.js provides tools that let you focus on your app instead of writing the same code you've written a hundred times.
Gone beyond the obvious low-level event-driven abstractions, eliminating much of the boilerplate associated with propagating changes throughout your application, and especially into the DOM itself.
Templating engine that will automatically update the DOM when the underlying objects change (Handlebars).
2. Provides Architecture:
Easy to divide your application into models, views, and controllers, which improves testability, makes code more modular, and helps new developers on the project quickly understand how everything fits together.
Ember also supplies built-in support for state management, so you'll have a way to describe how your application moves through various nested states (like signed-out, signed-in, viewing-post, and viewing-comment) out of the box.
Web application uses the same REST API as your native apps or third-party clients. Back-end developers can focus on building a fast, reliable, and secure API server, and don't have to be front-end experts, too.
These are the three features that make Ember a joy to use:
Bindings(Two way data-binding)
Ember.js application downloads everything it needs to run in the initial page load. That means that while your user is using your app, she never has to load a new page and your UI responds quickly to their interaction.
Size: 40kb, reduces to 14kb when using HTTP
Easily associate DOM elements with model data using a concise, readable syntax.
Automatic UI refresh:
When your data model's state changes, your UI updates automatically.
Implicitly set up chains of relationships between model data, to transform and combine it.
Quickly generate sophisticated, nested UIs as a function of your model data
Supports all mainstream browsers.
IE 6+, Firefox 2+, Chrome, Opera, Safari (desktop/mobile)
API docs, live examples, and interactive tutorials included
KO doesn’t compete with jQuery or similar low-level DOM APIs. KO provides a complementary, high-level way to link a data model to a UI. KO itself doesn’t depend on jQuery, but you can certainly use jQuery at the same time, and indeed that’s often useful if you want things like animated transitions.
Backbone vs Ember vs knockout
Backbone.js is the web’s darling framework.
Pros: Strong community and lots of momentum. Underscore.js (which it uses heavily) is also a great framework.
Cons: Lacks strong abstractions and leaves something to be desired. The entire framework is surprisingly lightweight and results in lots of boilerplate. The larger an application becomes, the more this becomes apparent.
Ember.js (formerly Amber.js SproutCore 2.0) is one of the newest contenders. It is an attempt to extricate the core features from SproutCore 2.0 into a more compact modular framework suited for the web.
Pros: Extremely rich templating system with composed views and UI bindings.
Cons: Relatively new. Documentation leaves lots to be desired.
Knockout.js is an MVVM framework that receives lots of praise from its supporters. It stresses declarative UI bindings and automatic UI refresh.
Pros: Binding support. Great documentation and amazing tutorial system.
Cons: Awkward binding syntax and lacks a solid view component hierarchy.