Some of you may have read my Ember.js series of articles and realized I'm pretty smitten with the framework. But as a professional developer, it's important that I consider other tools and take the time to vet them properly. One of the frameworks that everyone keeps telling me to look at is AngularJS. It aims to make building complex web apps easier but from experience, I know that most frameworks have a learning curve. It's never just dive in and code.
As such, I wanted to complile a list of resources which I've found that I'll be leveraging as I go down the path of learning AngularJS and which I thought might be useful to Tuts+ readers. I've broken them down by categories and included both commercial and freely available resources.
And to be clear, this isn't the end-all, be-all of resources. Invariably, someone will ask why I didn't include a specific resource and that's okay. Just realize this list isn't all-inclusive and solely meant to kickstart my AngularJS learning effort.
AngularJS Official Resources
Google has done an excellent job of compiling solid documentation and support resources to help developers work with AngularJS. When you visit the site, the thing that stands out for me is how it immediately drives you to understanding how to begin using Angular. That's important since, as with any MVC-type framework, Angular has a learning curve to overcome and it seems Google are doing their best to help ease any pain associated with it.
Also, being an open-source effort affords you the opportunity to peak under the hood as the code is hosted on GitHub.
The Angular YouTube channel has a wealth of information available to you to understand specifics about the framework. In looking through the videos, I would consider this less of a beginner's resource as a hub for those who want to dig deeper into specific areas of AngularJS like data-binding. There are some videos that will walk you through building an app but it's not typical courseware that you'd expect from sites like Tuts+ or PluralSight. Nonetheless, the videos are well-done and considering the amount of content, certainly well-worth investigating especially since they're free.
Support is always the bane of every open source project, mainly because they're typically volunteer-driven so support is basically a labor of love. While there are a couple of ways to get support for your AngularJS questions, this is an official Google medium and it is VERY active.
Want more direct and immediate support? Then jump on into #angularjs on Freenode for some real-time help. When I jumped into the channel, it was jam packed with developers so you should have no problems striking up a chat with someone about Angular.
Online AngularJS Courses
Sometimes you need a jumpstart. Something to guide you through the basics of a technology and get you over the initial hump. Thankfully, there's a nice blend of free and commercial courseware at your disposal.
Obviously a little biased but we're pretty pleased with our AngularJS course by Tom Ashworth which walks you through the important concepts of AngularJS
John Lindquist has produced 49 videos of sheer AngularJS awesomeness and the amazing part is that he's provided them for free. To quote him, "I've never been satisfied with video tutorial sites, so I'm doing something about it."
What I like about the course is that each video is short and concise (average of three to five minutes per video). I loathe overly long videos and prefer quick hits that drill down into a topic to get you the info you need to start hacking.
The team at Thinkster put an interesting twist on their course. They took the excellent courseware created at Egghead.io and combined it with walk-throughs that break down what the video taught you and expand on the topic. This is actually very clever. They even give credit where it's deserved:
We’ve found that the egghead.io videos are the best starting resource available, so every chapter will lead off with them.
This will be my second resource for learning AngularJS (after Tuts+ of course).
Code School has an excellent reputation for building online courses. While I haven't done this specific course, in looking at the comments, it seems like it's a solid introduction to the framework.
Another great company that has steadily amassed a ton of great courseware on a variety of topics, Pluralsight also offers a course on AngularJS which from the syllabus appears to be one of the most comprehensive courses available. I especially like that it includes a big section on testing AngularJS apps, something that seems to be an afterthought in most cases.
AngularJS Community Resources
If there's one community resource you need to know about, it's the AngularJS-Learning Github page created by Jeff Cunningham. It is one the most comprehensive lists of AngularJS resources I've seen and includes links to blog posts, articles, videos and more. It's also been translated into multiple languages which is icing on the cake.
This truly is a resource to bookmark regardless your level of experience with the framework.
In this tutorial series, he walks you through creating a feed reader leveraging several important technologies including Yeoman, BootStrap, Grunt and Bower. So not only do you get to learn about AngularJS but also how it ties into some of the most widely used tools and technologies in use today.
The old reliable for support questions, Stack Overflow seems to always be one of the important places to reference when you have issues. Sure, the answers may not always be what you're looking for but at 11k+ AngularJS questions already asked, it's highly likely you'll find the answer you're looking for.
Lukas Ruebbelke's passion for AngularJS resonates in his posts about the framework. With posts dating back to April, 2012, there's certainly plenty of information available to budding AngularJS devs. There's even a post on using AngularJS to build Windows 8 apps!
Ever wanted to jump into a new technology and wish you had some solid code to use as a reference to learn by? Yeah, same here. That's what the TodoMVC project aims to provide. The project provides a simple but well-written todo app that leverages major libraries including Backbone.js, Dojo and more. Want to learn YUI? There's a todo app for that. Want to learn Kendo UI? Same thing.
Of course, AngularJS is represented here and the framework page provides you not only with source code but a live demo that you can tinker with. Good stuff.
Being so new, books on AngularJS aren't common but there are some notables to mention and several that are in production as you read this. The two standouts at the moment are:
- AngularJS by Brad Green and Shyam Seshadri
- Mastering Web Application Development with AngularJS by Pawel Kozlowski and Peter Bacon Darwin
Manning is also working on AngularJS in Action. It's currently in Manning's Early Access Program (MEAP) so you can pre-order it and receive the chapter updates as the authors make them available.
Way More Stuff Available
My list is by no means the end all. If you just look at Jeff Cunningham's list you'll find a TON more links to look over. What I wanted to do was narrow down the options to what I felt were good resources to start off with so that I don't get overwhelmed with the volume of information available.
Hopefully this list helps you kickstart your AngularJS learning efforts and allows you to build something really exciting.