Angular.js vs Knockout.js vs Backbone.js

Posted by Rama Sagar under JavaScript on 12/22/2013 | Points: 10 | Views : 2650 | Status : [Member] [MVP] | Replies : 1
Which one is better among Angular.js Knockout .js and Backbone.js depending upon performance?



Posted by: Sagarchavada on: 3/18/2019 [Member] Starter | Points: 25

Knockout vs Backbone vs Angular
There are various client-side kind of mvc libraries. Three of the popular ones I’ve used are Knockout, Backbone and Angular.
While there are other comparisons of the three, I feel many of them don’t really touch on some of the aspects that I’ve come to learn from my experiences with the three.

Knockout offers a way to bind data into HTML by using special attributes and such.
Very easy to get started with, Knockout is the easiest to pick up of the three and gets you to doing things quickly.
It’s very good if you want to do things the library supports out of the box.
Where it fails in my experience is when you start getting more complicated behaviors or models. It becomes harder and harder to link behaviors with the data binding system when your models become more complex.

Backbone is rather different from the other two. It doesn’t really give you a data binding facility as such, but rather a bunch of objects you can build your own MVC solution with.
It’s quite nice when you want to build some more complex interactions or more complex models. It doesn’t really limit you because it doesn’t really give you anything high level either.
The downside of Backbone is boilerplate. You end up writing lots of code that’s mostly for wiring things together – things you get by default from Knockout and Angular with a few markup attributes. It also requires more understanding of how Backbone’s whole set of objects work together before you can do a lot.

In a similar sense as Knockout, Angular offers you data binding into DOM, but also a bunch of other things such as controllers and a ready to use set of “services” for building single page apps and other things.
Angular offers a quite easy entry into using it, but some of it can feel confusing. It uses more advanced features such as dependency injection quite a lot.
The main downside to Angular for me was that it was much harder to understand at first. Sure, the basics are easy to grasp, but once you need to do something it doesn’t do out of the box for you, it requires a much deeper understanding than the other two.


Rama Sagar, if this helps please login to Mark As Answer. | Alert Moderator

Login to post response