back

by sergiotapia·13y ago·view on hn ↗
How would you say Knockout compares to AngularJS? I've looked at both and Angular seems really really clean as well.
2 comments
As I said here: http://news.ycombinator.com/item?id=4792638

Angular is more of a framework than a library. You have to do everything the Angular way or things will become very difficult. In trying to learn it, I found it quite complex (beyond the basic hello world examples).

Only recently i started with AngularJS. Ik took me a few days to understand it and then a week or two to get addicted to it. At first the terminology might scare you off: directives, controllers, watches, promises, services and more. But now it really makes sense to me and i love it.

I would sell it as a framework to invent your own HTML tags, handles the communication with server and does routing, if needed. The two-way data binding is very very nice, but it feels so natural it not even is a selling point :)

Corollaries:

- Knockout's organizational conventions appear inadequate to organizing larger projects, whereas Angular puts its module system right out front

- Yes, Angular definitely has the highest learning curve of any JS framework, but it more than makes up for it in the power, simplicity, composability, and expressiveness of the resulting app code; if it's too difficult for you, stick to something like Knockout or Backbone.

- Oh, and there's no extra hand-waving for data-binding, because Angular uses a much simpler (and in aggregate, more efficient) approach to computing DOM updates

I'm looking at AngularJS to handle some more advanced cases; my understanding is that AngularJS provides roughly what Knockout.js provides, then more features around (but please note I didn't dive very far yet in AngularJS!).

Knockout.js is great to get started at adding interactive UI on a JSON back-end, and I think AngularJS is the natural progression.