Live data from Hacker News

The reason Angular JS will fail

okmaya.com

11–20 of 85 posts

Re: The reason Angular JS will fail

#12
post #5

jQuery is fine for regular websites and the like, but inadequate for large scale client apps. That's what Angular is for. There is not much benefit using angular to build your marketing site. If you don't understand this, you understand neither Angular, nor jQuery.

He isn't comparing the features of Angular to the features of jquery at all, he is just comparing it to a framework that has stood the test of time due to it's simplicity. He doesn't explicitly say it but I am sure when he talks about 'easier' ways to do what you can do with Angular, I believe he means other similar frameworks e.g. Ember, Backbone etc.

Re: The reason Angular JS will fail

#14
I like the comment and I in part agree with it:

First of all. Yes, Angular IS kinda difficult. The docs sucks and it has a huge learning curve if you're not doing a stupid app.

BUT

It is not jQuery. It's a full blown mvc framework. And the 2 are completly different products and they serve different purposes...

- want to do simple Dom manipulaition? use jQuery. - want to connect the browser client with a backend system in an efficent way? Angular may be the tool you're looking for.

"The problem is that it's backed by Google. Well, Google is composed of many smart people writing complex apps and inventing revolutionary algorithms. The people working there are in the top 1% of society when it comes to intelligence. What about us on the bottom 99%?"

While I do not consider myself amongst the top 1% smart people here mentionend, I can still find my way out of Angular...Perhaps, it's learning curve is a barrier between who really wants to invest time in it or not...

Re: The reason Angular JS will fail

#16

A tool doesn't fail because it's difficult, it fails if its difficulty is not worth the results it produces. A chainsaw is more difficult than a plain old saw. You gotta make sure it's fueled up, oiled and whatnot. You might even have to read instructions the first time! But is it worth it? That's the question, and it goes completely unaddressed in this post.

I get the feeling that this article author doesn't get it. I can't say quite what they are missing, but I have a nagging feeling that they are missing something very basic.

I find it quite easy to add a small feature to the existing angular app. And it's modular so the app's complexity isn't snowballing. And the new feature is covered by unit tests. Could you say the same for a jQuery app? If "yes", did it need heroic measures? This just falls out of the default angular app template. For the first time I feel that the client-side approaches the engineering rigour that we have on the server.

It's the opposite of the "spaghetti nightmare" mentioned. I'm sure you can tie yourself in knots of code with angular, but you can also avoid it.

Re: The reason Angular JS will fail

#18
I agree with the premise but disagree with the argument.

> Which brings me to the pattern of ever failing technologies. Remember Moo Tools? Prototype? ... Prototype and moo tools tried to be innovative, but they just made things harder. Not only were they not intuitive to use, but referring to the documentation was even worse. Would take hours what jQuery could accomplish in mere minutes.

That's just not true. I can't speak to MooTools, but I used Prototype back in the early Rails days, and it was a pleasure. Great documentation and it jived with the Rails automagical convention-over-configuration approach. Prototype failed because a) it stopped being actively developed, and b) it overrode native object prototypes in a way that could cause other libraries to catastrophically fail. But Prototype didn't fail because it wasn't intuitive, and it didn't fail because it wasn't documented. IIRC, Prototype documentation was actually better than jQuery documentation.

> The main reason Angular JS will fail is because it’s difficult.

This is fair criticism, but there's no supporting evidence provided—only that Angular JS didn't "feel" right and that more people search for "Angular sucks" than "jQuery sucks" on Google.

I think Angular got a lot of core ideas right: two-way binding and extending HTML. But it also comes with an extremely steep learning curve. The directive definition object, with its pre-compile, post-compile, pre-link, and post-link phases is too complex and exposes too many warts of using the DOM as a templating language. The documentation takes several passes to grok, and you'll more-than-once have to dig into Angular internals. The several ways to create a service (`.provider`, `.factory`, and the supremely confusingly `.service`) are unnecessary obfuscation and force you to use singletons; custom classes/prototypical inheritance in Angular requires some mind-bending use of first-class functions.

If you're not careful to fully understand Angular, it's easy for your first Angular app to turn into a mess of spaghetti, since Angular enforces too much awkward structure at the directive/controller levels, and not enough at the data management layer.

But these are issues that the Angular core team is well aware of. I'm really excited about the Angular 2.0 roadmap [0]. And even if Angular fails, some of its ideas are so good they're being incorporated into ES6, like Object.observe [1].

[0] http://blog.angularjs.org/2014/03/angular-20.html

[1] http://addyosmani.com/blog/the-future-of-data-binding-is-obj...

Re: The reason Angular JS will fail

#19
I'm not sure I agree with the comparison here. I used MooTools back in the day, and it was just as easy to use as jQuery to my mind. The syntax was slightly different but not hugely - when I gave into the inevitable and switched to jQuery it didn't take long for me to understand it.

jQuery succeeded because it captured the largest amount of mindshare, particularly important for a library that relies on numerous plugins. Right now Angular is looking pretty similar - it's not pretty, but it is widely adopted.

Post reply on HN