How to master AngularJS? [closed]

I'm pretty new to AngularJS and I find it a bit awkward. The easy stuff is very easy, but the advanced things are significantly harder (directives, provider / service / factory...)

The documentation isn't very helpful for someone who's just starting to learn those things; and I find myself constantly searching for directives for things I need instead of writing my own.

I tried Ember.js and I was much more productive with it, but the API is still being changed significantly so I prefer skipping it for now.

Are there any better resources to get into AngularJS properly?


Solution 1:

This is the most comprehensive AngularJS learning resource repository I've come across:

AngularJS-Learning

To pluck out the best parts (in recommended order of learning):

  • http://www.egghead.io/ - Series of short, to the point AngularJS videos
  • AngularJS Cheatsheet - regularly updated cheatsheet [latest update 13th February, 2013]
  • On nested scopes - Points out possible problems when using scope inheritance (references a good talk by Misko Hevery that you should also watch)
  • Dependency injection - Official developer guide on DI
  • Dependency injection - More on AngularJS dependency injection
  • "Service or Factory?" - Differences between the various types of providers
  • Directives - Official developer guide on directives
  • Directives - The hitchhiker's guide to the directive
  • Project structure - Check out this app
  • Angular-UI - Must use components for any UI development
  • UI-Bootstrap - From-scratch JS re-implementations of bootstrap components as AngularJS directives
  • Full-Spectrum Testing with AngularJS and Karma
  • Bonus - Data binding in AngularJS, explained by Misko Hevery himself.

Solution 2:

Try out these videos egghead.io They are awesome to get started

Solution 3:

For a comprehensive and continually growing collection of links check AngularJS-Learning, a github repo that collects resources, links and interesting blog posts.

I've found very helpful the tutorials and videos on the AngularJS youtube channel. They go from the mostly basic stuff to some advanced topics, a good way to start.

The official twitter and google+ accounts are a good way to follow news and get some nice links. Also check the AngularJS Mailing list.

A nice aggregator of news/link is angularjsdaily.com.

Also there're some new books out there, so you can keep an eye on your favourite online library.

Solution 4:

The #angularjs IRC channel on freenode.net is a great way to get real-time responses.

Advice for getting help via IRC:

  1. Have a relatively specific question to ask.
  2. If possible, demonstrate your issue using Plunker or JSFiddle.
  3. Pick "prime time" hours to ask (Mid-afternoon to evening, EST works well for me.)
  4. Don't pop in, ask a question, and leave 2 minutes later when someone doesn't answer immediately. Most of us only check IRC periodically.