The official AngularJS team blog announced releases, tools like Batarang, Angular 2.0 plans, and case studies such as DoubleClick.
HN links it for release announcements and previews, and commenters cite its videos and docs as helpful for learning directives.
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…
I think the author is right, if Angular stays how it is today. I've spent a lot of time trying to learn and believe in Angular. I've failed to be persuaded that it's the end-all, be-all that many people think it is. Nothing I've read--not the docs, nor ng-book--have successfully given me the mental model for what the heck is going on behind the scenes. I think directives are a horrible hacky mess. I recently struggled mightily to design a simple recursive tree directive. Apparently it can't be done without hacking the compile/link plumbing [1].
But my understanding is that Angular is actually going to vastly simplify and modularize in version 2 [2]. I've read that Web Components will be replacing directives [3]. Notably Google is also sponsoring Polymer, which is based on Web Components. Object.observe is going to vastly simplify the scope situation.
[1] http://stackoverflow.com/questions/14430655/recursion-in-angular-directives
[2] http://blog.angularjs.org/2014/03/angular-20.html
[3] http://stackoverflow.com/questions/18089075/what-is-the-difference-between-polymer-elements-and-angularjs-directives/18092637#18092637
Its an advanced framework for building larger scale sites. I've found that it scales well and my projects can be successfully transferred to other developers and they can jump right in.
Angular 2.0 addresses many of my complaints. I have a few legitimate ones.
Dependency Injection is being made simpler and I hope less fragile. If something goes wrong in the minimization phase you can easily get the dreaded module not found and your whole app/site is broken. But it makes testing clear and precise and its improved the quality of design of my sites and apps.
Simplify the directive API. Yep, its weird. Its fun when it works though. The ideas of directives will live on in other frameworks regardless. So Angular can't fail, it has already succeeded. Even if it dissolves into web components in the future.
When the animation system gets fully solved then I think angular apps will look/behave so cool that complainers will be compelled to learn it.
Really, its the Rails of the frontend. Which is both a compliment and a criticism ;) They both have too much magic.
[1] http://blog.angularjs.org/2014/03/angular-20.html
That's actually one of the more interesting parts about Angular. I'm not sure of the details but I believe the Angular team have been counting on Object.observe for increasing the performance of the Angular code [0] (something that Google / the Chrome team have influence over).
The Angular code you write now won't need to be updated and will get a great speed boost later. Other libraries, like Ember, get you to add all that metadata to your code to give you a performance boost now (which to me feels like something you'll regret in a year's time).
Ah, this is the post I was looking for [1].
[0] http://blog.angularjs.org/2012/07/angularjs-10-12-roadmap.html
[1] https://plus.google.com/112439678898563138768/posts/RZKRBiGXvR2
This is great. One of the trickiest parts of learning AngularJS is figuring out how directives work, and how to write your own effective directives. The Angular team posted a couple of vids the other day that helped me a lot http://blog.angularjs.org/2012/11/about-those-directives.html
I'd love to see more videos focusing on directives -- as I think the rest of it is fairly straight-forward. It looks like there are a number of vids here that address directives, so I'm looking forward to watching them.
The worst part of 1.3 (well, anything > 1.2.2) is they're removing comments from their documentation. The docs are already abysmal; now they're removing the only part of the docs that was decent (since people would post solutions to common problems).
Although, to be fair, half the Disqus comments were just complaining about how bad the docs were.
http://blog.angularjs.org/2013/11/farewell-disqus.html