Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
AngularJS: A Retrospective (mutuallyhuman.com)
40 points by jonahbailey on March 26, 2014 | hide | past | favorite | 19 comments


When you use an unblessed language derivative like Coffeescript for your examples, please give alternate examples (even if they are simply generated by your coffeescript translator). Especially in this case, since Angular isn't targeted specifically at Coffeescript developers.


Not to mention that it saves a whopping 4 lines here. There aren't any CoffeeScript specific features used here, so why use it at all?


I agree. Took me a second looking at the example then realizing it was coffee script. Not as helpful to me.


Is this just an anti-coffeescript rant or are you actually struggling to follow the examples?


I think it's a legitimate concern about the ability to read examples. Using nonstandard tools to showcase a concept limits the people who are able to follow along. Not everyone has invested the time to learn the ins and outs of CoffeeScript, why hinder understanding with it when "talking about CoffeeScript" isn't the point of the article?


It's really not a big deal in this case. Code is not doing anything tricky. Just add some ugly curly braces and parenthesis and it's es6 JS with the arrow.


No, it's a tired complaint from a group of people who don't like the idea that people are building for the web in something other than their favourite language.

No one is forcing you to like coffeescript, but it's completely unnecessary to complain about every single example or blog post that uses it.


Nice article but IMHO it's missing the most important pieces of a retrospective, e.g. "what went wrong" and "what can be improved".


Yeah I was hoping for a little more insight. This was mostly a brief tour.


> When starting out, forgo writing directives. You need a deep knowledge of AngularJS' internals to debug directives when they misbehave. Instead, start by writing a small controller and view. You can refactor these into a directive later when it feels right.

No. Controllers should not be used for DOM manipulation. Angular directives take some learning, but they're great. It basically turns DOM node selection into a matter of Dependency Injection. I think it's an exaggeration to say that directives require "deep knowledge of AngularJS' (sic) internals".


Exactly, and this is echoed by the Angular development team (http://docs.angularjs.org/guide/controller).


Why the "(sic)"? Is "AngularJS" not the preferred stylization?


not sure if it's what he meant, but the correct possessive should be AngularJS's


One of the few places where Angular falls down is its use of a single ng-view. This makes doing something as simple as a two column layout frustratingly more complicated than it should be.

Use ui-router. It allows multiple views and uses states for URL routing. It's a little tricky to understand at first, but once you internalize how states work it makes structuring your app very easy. Be prepared to rewrite parts of your projects multiple times until you actually get it.


There's also this project: http://angular-route-segment.com/

The $resource service is also not as well designed as it could be. I'm thinking of moving to restangular.


I am using Restangular & ui-router in a project I am working on currently and its working great. Highly recommended.


I think angular's future is more interesting than it's past or present.

getting rid of the dirty checking? yes please. etc..


I think it's miss-using the service in this example. The example should be using factory: .factory('RemoteResource', function($http){ return {retrieve: function(){ $http.get("url"); }} })

Service should be like this: .service('RemoteResource', function($http){ this.retrieve = function(){ $http.get("url"); } })

See Stackoverflow: http://stackoverflow.com/questions/15666048/angular-js-servi...


A factory vs. service example would help the article out some.




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

Search: