Live data from Hacker News

Criticisms of Angular

leanpanda.com

31–40 of 150 posts

Re: Criticisms of Angular

#31

I haven't tried Angular yet but have built applications in React. In my opinion, frameworks like Angular suffer from a fundamental problem, that, it is almost impossible to gauge the problems of a new design unless you have a built a medium - large scale application with it which is very hard when you are just experimenting. There might be few heuristics, few rule of thumbs one can follow but still it will be hard to…

I've never understood any comparison between React and Angular. To me it seems like trying to compare a slick car to a fancy car garage. They try to solve quite different problems, right?

I've used both and I could completely replace Angular with React and some scaffolding code.

I used Angular on medium to large web apps in the past and while its easy to get started you always get tons of problems at scale. Staying at scale without problems requires so much discipline its not even worth mentioning.

The two-way bindings are just the wrong way to go in order to keep things simple as you scale. It becomes nearly impossible to reason about the performance of your app or what is going to trigger if you change a model.

This is way, way too complex to build an application. With React most of this complexity goes away. I'm also using React from ClojureScript through the Om library so these might be contributing to said simplicity!

Re: Criticisms of Angular

#32
post #13
post #8

Earlier quoted context omitted.

why?

Because React solves only the directive part of Angular? I'm not saying it's great BTW, but comparing React to Angular is silly. That's like saying you chose lodash.js over Angular.

> like saying you chose lodash.js over Angular.

It's a valid comparison, if you feel Angular tries to solve problems you don't have, and in doing so, causes other headaches.

Re: Criticisms of Angular

#33
post #7
post #5

Earlier quoted context omitted.

DI is not an "800 lb gorilla". If anything, certain implementations of DI frameworks are (I'm looking at you, Spring).

I disagree. They were a solution to the inflexibility of rigid languages like Java, but seems entirely alien in the context of Javascript. A DI framework adds a load of indirection.

DI is a design principle, not a class for frameworks. DI just means to "inject" the dependancies of an object through constructor arguments, setters or by simply setting instance (aka member) variables. In other words, DI means that you don't use global variables (aka singletons). DI does not provide any more flexibility itself, but most DI frameworks encourage the usage of interfaces instead of concrete classes (which is a good thing) when it comes to defining dependancies. Sadly however, the fancy pants therm for using interfaces is "dependency inversion", because when using interfaces, the compile time and runtime dependancies of a class point in opposite directions. As you can imagine, this lead to a lot of confusion.

Re: Criticisms of Angular

#34
post #4

When the author doesn't understand the difference between a module system and a dependency injection system, it's hard to take the rest of what he says seriously.

They kind of solve the same problem, but in different ways. I, for one, think it's debatable if the 800 lb gorilla that is dependency injection has any merit in javascript.

> They kind of solve the same problem

no they don't. That's a fundamental mistake to say that. DI is about inversion of control , modules don't do that.

Re: Criticisms of Angular

#35
post #13
post #8

Earlier quoted context omitted.

why?

Because React solves only the directive part of Angular? I'm not saying it's great BTW, but comparing React to Angular is silly. That's like saying you chose lodash.js over Angular.

React encourages a certain style of development/architecture to a degree. Sure, it doesn't compete with Angular feature for feature, but it does encourage a style that IMHO is different enough to be interesting as a conversation topic when discussing alternatives to Angular.

Re: Criticisms of Angular

#36
post #13
post #8

Earlier quoted context omitted.

why?

Because React solves only the directive part of Angular? I'm not saying it's great BTW, but comparing React to Angular is silly. That's like saying you chose lodash.js over Angular.

Your attempt to answer with an out-of-context question didn't worked. Please retry :-)

Re: Criticisms of Angular

#37

So, they trot out the same tired arguments against Angular that people have been making since the beginning, and this makes the front page where people engage in serious discussion about it? Did I miss some subtle novelty about this post, or is Angular ennui just that popular on HN?

Not to mention his example is just straight wrong about $scope and ng-if.

His JSFiddle examples are all using angular 1.1.5. Angular 1.2 properly binds scope inside an ng-if.

I agree that angular 1.1.5 had it's warts, if that's what this is supposed to be about. The current release version of angular is 1.4, about to be 1.5.

Edit: After fully reading through this blog post; it's almost all wrong.

Dirty Checking: Yes, we have have to sacrifice ease of use for performance sometimes. So keep it in mind and don't make so many simultaneous data bindings. Why you would need 2000+ in any given state(ui-router)/route is just mystifying. Don't abuse ng-model.

Dependency Injection: Are you kidding me? He's not even using the array notation for proper DI with minification.

Pointless Complexity: This is an actual valid argument, and the only one on the blog. Google has some pretty bad documents for angular, especially when describing directives that isolate scope.

Server Side Rendering: Uh, the whole idea behind stuff like angular is decoupled frontends from your server. Build a REST API and point angular at it; no need to ship layout code with services.

Angular 2: There's an upgrade path that should allow the two to exist in tandem. There's no reason to not keep writing angular 1.x code right now. It's not like Angular 2 being released means all your previous code is worthless.

Re: Criticisms of Angular

#38
post #7
post #5

Earlier quoted context omitted.

DI is not an "800 lb gorilla". If anything, certain implementations of DI frameworks are (I'm looking at you, Spring).

I disagree. They were a solution to the inflexibility of rigid languages like Java, but seems entirely alien in the context of Javascript. A DI framework adds a load of indirection.

It has nothing to do with the "rigidity" of Java, and everything to do with the complexity of the problems solved in Java land.

The value comes as you scale the number of developers, the lifetime of the software and the complexity of the product. This holds just as much for Java as it does for Ruby or Javascript.

Re: Criticisms of Angular

#39
Funny that the last complaint is that Angular2 will break a lot of stuff, when it will actually fix most of the issues he's mentioning above. One can never win.

Re: Criticisms of Angular

#40
post #28

OT: why are they using "BazaarJS" in the titles of both this and the post they're linking to but "BazarJS" everywhere else in the articles?

"BazarJS" is a series of articles about JS frameworks, pre-processors, etc... they already published the same in italian language some months ago. now they're re-publishing (with eventual updates) the same in english.
Post reply on HN