Comparison |
AngularJs |
Backbone.js |
Knockout.js |
File Size |
~142 KB total (compressed and minified) |
~ 7.3 KB total (gzip / minified) |
~21 KB total (gzip / minified) |
Version & Licence |
V1.4.2 & MIT (Open-source) |
V1.2.1 & MIT (Open-source) |
V3.3.0 & MIT (Open-source) |
Dependencies |
No Dependencies |
Dependends on underscore.js and jQuery |
No Dependencies |
Data Binding |
It supports full data binding and provides options for creating custom data bindings |
Does not support data binding by default but does using plugins for data bindings |
It fully supports data binding and can bind many attributes. It provides options for creating custom data bindings |
Routing |
It supports routing feature and it's very simple |
It supports routing features and it's very simple |
Does not support routing by defualt but it is available with some thrid-party libraries |
Views |
Uses HTML as the templating language |
Does not have templates by default but we can add them easily by a thrid-party template like underscore.js and handlebars |
It uses HTML as the templating language |
Testing |
Can support Test Driven Development (TDD) |
Does not support testing by defualt but we can use some thrid-party tester like Jasmine and Sinon.JS |
Does not support testing by defualt but we can use some thrid-party tester like Jasmine and Sinon.JS |
Data |
Does not support jQuery but we can use Angular's $http |
Can support jQuery's $.ajax and is very easy to understand
|
It can support jQuery's $.ajax and knockout mapping |
Design Pattern |
Can support the MVC and MVVM design patterns |
It can support MVP design pattern |
It can support the MVVM design pattern |
Browser |
Can support IE 9, IE 10 and IE 11 |
It dependends on jQuery supporting browsers like IE 6+, Chrome, Firefox, Safari 5.1+ and Opera |
It can support all major browsers like IE 6+, Firefox 3.5+, Chrome, Opera and Safari |
Third-party Integration |
Does not support third-party integration |
Does not support third-party integration |
It supports third-party integration |
Documentation |
It is available documentation and community |
To my knowledge there is no documentation |
It has available documentation and community |