Learning Angular


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.

JavaScript

Before you start learning Angular, you need to know JavaScript, and know it well. Get started with JavaScript with Eloquent JavaScript and buy The Good Parts.

Thinkster

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.

AngularJS Developer Guide

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.

Testing

A big advantage of using Angular is built-in support for unit testing and integration/end to end testing. At a basic level:

  • Unit testing tests your controllers in isolation from each other. Controller dependencies are mocked.
  • Integration (End to End in Angular-speak) testing runs the web app and automates the use of the GUI. You write tests to interact with the DOM, which are then run with protractor.

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:

PhoneCat Tutorial

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.

Extra Resources

By now, you should know enough to get started on building your app. The following resources may also help:

Good Luck!

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!