Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm coming back to JS development after several years away and my first impressions of Angular are that it seems very complicated and over-engineered, with a lot of fairly abstract concepts to digest to get even simple things working. React.js seems so much simpler but there does seem to be a lot of community support for Angular.

Should I invest the time and learn Angular or go with React instead? Web components seem likely to change the whole web development landscape but my impression is that they're not quite ready for prime time yet.



| Angular ... seems very complicated

Having recently picked up Angular, I can perhaps comment on this. Once you're past a few questions of where to put what, development with Angular is fairly straightforward. If you've dealt with two-way data binding before, it's even simpler.

I suspect you should be able to pick it up to a reasonable degree (one where you can decide if you'd like to stick with it) within a week or two at most, even in your spare time. In retrospect, I'm not sure I'd call it complicated any more.


That's reassuring. I look at some of the code examples and all the $vars and it looks very obscure. I guess the forthcoming 2.0 version is supposed to simplify things a lot and make it play nicely with web components though so maybe it's worth getting on board now.


To contrast with what the OP said, I found Angular pretty cool at the beginning but got more and more annoyed as I progressed. If you're okay with interacting with a black box, go for it otherwise choose react.


This is a distinct possibility, and I did run into one or two of these situations already. In my case, digging slightly into Angular's internals for workarounds was relatively successful.

An example is Angular's treatment of HTML forms and input elements, w.r.t. things that you'd expect, such as name / id interpolation (namely: Angular doesn't interpolate dynamic form names as you'd expect - [1] and [2]). In cases like this, digging into the internals to resolve the initial surprise and later solve the problem was slightly frustrating.

[1] https://github.com/angular/angular.js/issues/1404

[2] http://jsfiddle.net/Thinkscape/23RPt/


From what I can tell of my experience, Angular is a library you can turn into a framework, by which I mean...

...It seems easy enough (given that I haven't actually taken something through what I'm about to suggest...) to go from zero independent JS - only using existing directives - smoothly and gradually into a full browser-side MVC. Start with directives, add some controllers, now a service or two and eventually some routing....

I also recently finished my first big feature using Angular, and am now ripping out most of the guts because I've realized that The Angular Way would let me do things drastically simpler. So I think there's some actual simplicity in how you can use it that may be hard to spot at first, or may not be apparent when you're coming from a different cognitive toolset (not that I know of anything other than Angular that I can for sure say has the same or a similar toolset...). As I grok it more, I like it more, but some stuff still gives me issue. I just don't use those parts until I understand, and then I delete the two-thirds of my code I don't actually need.

Also: I don't know ReactJS, so don't take this as a comparison to it in any way.


I had the pleasure of using Knockout.js on a recent project. It's so much simpler than Angular and a real pleasure to use.

It doesn't provide a complete opinionated framework like Angular. You have to pair it with the right 3rd party components to get a full SPA kit, but I like that better. I don't always need a full SPA either.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: