That’s a shame, because Angular has so much to offer:
- Modularity that allows a team of developers to work on specific parts of an app concurrently
- Testability and maintainability of your app’s various pieces
- A big, thriving community of developers and organizations who love Angular
- Clean separation of the app’s UI from its logic, while still keeping them in sync
- Two-way data-binding — it’s pure magic (or sorcery?) — that updates the UI whenever a model changes (and vice versa)
- Useful out-of-the-box (as well as third-party-developed) modules such as Filters and Services that take the complexity out of stuff like data-processing, templating of UIs, dealing with HTTP requests, sanitizing and validating user inputs, animation, and (much, much) more
And that’s just the tip of the iceberg!
Should you decide to learn Angular, you’ll be endowed with the skills required to develop cross-platform apps, and your newfound superpowers will prove to be valuable and profitable for years to come.
What follows is a guide (I call it a roadmap) designed to help you learn Angular effectively. My goal with this roadmap was to chart a carefully-crafted curriculum of free online resources that gently introduces you to the world of Angular. I wanted to create a self-learning guide that will motivate you to continue to pursue higher levels of Angular expertise.
I’m not going to mince words, learning Angular will be hard work. Expect to encounter many roadblocks during this arduous undertaking. But I encourage you to stick with it. Your efforts and hard-earned battle scars will be worth it because Angular will ingrain so much value into your work and your repertoire of development skills.
Are you ready? Let’s get started!
Without further ado, what follows is my roadmap towards learning Angular.
A Roadmap to Learning Angular
Here’s a five-step process for learning Angular using free, online resources.
I’ve used these resources to gain a competent-level understanding of Angular. I admit that I still have a long way to go, but these resources have helped me get started on the right track.
If you want, you can begin with the resources that you personally find interesting. However, keep in mind that I intentionally structured this guide with the goal of helping you gently get on your way with Angular. Use the wrong resource at the wrong time, and you might get discouraged from continuing to explore Angular.
Step 1: Shaping up with Angular.js
Goal: To get a gentle, hands-on introduction to the world of Angular.
Whenever I try to learn something, my initial objective is to get a bird’s-eye view of the thing I’m trying to learn, and to get hands-on with it as fast as possible. I want to avoid as much set-up and configuration as I can. There are two reasons for this objective. The first is so I can decide right off the bat whether it’s something I see as being a potentially worthwhile skill to acquire, without putting in too much time into it. The second reason is getting up and running quickly often makes the task more engaging, fun, and motivating.
Shaping up with Angular.js — a free Code School video course sponsored by Google, the developer and maintainer of the Angular — fits the bill.
This online course is a well-structured and efficient intro to Angular. In this course, you’ll be building a simple Angular app. There are coding challenges interspersed throughout the course to help you review the key concepts being discussed. As you develop the app, you’ll learn about some of Angular’s powerful features, such as Directives, two-way data-binding, Services, and so forth.
Step 2: Angular Basics by ScriptyBooks
Goal: To learn about the main Angular concepts and features.
The official AngularJS tutorials and documentation (which we’ll discuss later) is extremely detailed and thorough. For me, the problem with the official docs is it’s incredibly dry and intimidating. It’s especially uninviting to individuals like me who don’t have a formal academic background in computer science.
I understand the Angular team’s need to be detailed and thorough in the documentation of their project. By being comprehensive and technical with their docs, they sidestep ambiguity issues and allow its users to find all the information they need.
But for most people, my view is that learning Angular must start with third-party content. There are other learning resources out there besides the AngularJS docs that are more approachable for newcomers.
The free online book Angular Basics is one such learning resource.
Chris Smith, the author of the book, perfectly describes my initial experience trying to learn Angular via the AngularJS docs: