5 ms·
AngularJS: A Retrospective
Taking a look back after working with AngularJS for a year.
- warfangle 13y agoWhen 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.
- thoughtpalette 13y agoI agree. Took me a second looking at the example then realizing it was coffee script. Not as helpful to me.
- lucisferre 13y agoIs this just an anti-coffeescript rant or are you actually struggling to follow the examples?
- awj 13y agoI 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?
- ulisesrmzroche 13y agoIt'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.
- lucisferre 13y agoNo, 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.
- vkjv 13y agoNot 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?
- udfalkso 13y agoA factory vs. service example would help the article out some.
- geuis 13y agoOne 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.
- lucisferre 13y agoThere's also this project: http://angular-route-segment.com/ 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.
- saurabh 13y agoI am using Restangular & ui-router in a project I am working on currently and its working great. Highly recommended.
- AdrianRossouw 13y agoI think angular's future is more interesting than it's past or present. getting rid of the dirty checking? yes please. etc..
- PascalW 13y agoNice article but IMHO it's missing the most important pieces of a retrospective, e.g. "what went wrong" and "what can be improved".
- lucisferre 13y agoYeah I was hoping for a little more insight. This was mostly a brief tour.
- j_baker 13y ago> 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".
- vedant 13y agoWhy the "(sic)"? Is "AngularJS" not the preferred stylization?
- mattwad 13y agonot sure if it's what he meant, but the correct possessive should be AngularJS's
- acconrad 13y agoExactly, and this is echoed by the Angular development team (http://docs.angularjs.org/guide/controller http://docs.angularjs.org/guide/controller).
- keda 13y agoI 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-service-vs-provider-vs-factory http://stackoverflow.com/questions/15666048/angular-js-servi...