The last week has been an intense period of training. I’ve taken up the offer of a project to be built using AngularJS, and so my head has been down in tutorials, books and online docs.
Entitled A Better Way to Learn AngularJS, the Thinkster course is excellent. It takes you through a series of videos, articles and documentation links to give you a very good, broad overview of Angular.
The course recommends that you purchase the O’Reilly AngularJS book. You should definitely do this, as it is an excellent introduction to Angular, written by a member of the AngularJS team. But, unless you really like the smell of new books, I’d recommend you buy the eBook. As a rule, I like buying print books for reference (I refer to The Good Parts on an almost daily basis) but since Angular is moving so fast, the book is in danger of becoming obsolete soon. I’d save your money, and buy the eBook instead.
Once you have taken the Thinkster course, and read the AngularJS book, read the AngularJS documentation. It isn’t perfect, but it will help to understand and solidify some concepts.
A big advantage of using Angular is built-in support for unit testing and integration/end to end testing. At a basic level:
If you are a beginner to unit testing, read this Smashing Magazine article.
The Thinkster guide above is a little out of date, and doesn’t include much information on protractor, or unit testing in general. I recommend the following resources instead:
Once you have read the things above, complete the PhoneCat tutorial. It puts all of the concepts above into practice. It’s really important you take this tutorial!! It is the icing on the cake, the stage that takes it from swimming around in your head, into your text editor and onto your browser. Don’t miss this stage out, it will take a few hours but it is worth it.
By now, you should know enough to get started on building your app. The following resources may also help:
It took me about a week to follow through the tutorials listed above, and by the end of the week I felt confident that I could make a start on my first Angular app. Good luck!