Angular is a very in-demand framework in 2021, with a similar programming model based on components as React or Vue.

It bakes in other concepts like dependency injection, routing, HTTP client based on observables, 2-way data binding & a strong CLI tooling.

Angular can surely be a strong tool under your belt, so for this reason I will go into how you can quickly learn it and be productive with it.

No one reads the docs

Oh well, I am the first to say that I rarely find everything I need to learn a new tool in the docs. Lots of times I need to read other blog posts, watch some videos, and go through stack overflow for some advanced topics.

But with Angular I managed to learn mostly from their docs.

You can spend a few hours to study the docs, and they will get you started & understanding:

  • using the CLI
  • Components
  • Templates
  • Directives
  • Dependency injection
  • Angular Modules

Once the core concepts are understood, you can proceed with building some sample applications.

Sample applications

The Angular website will teach you this too. You can check out how to build:

Another small app you can start building is a Currency Converter, and you can follow this tutorial:

Coding styles guide

The nicest thing in Angular is that being an opinionated framework - it has best practices and the coding styles are documented.

I think it's nice for once to work with a framework with opinionated:

  • naming conventions
  • folder structure
  • modules structure
  • and much more

This leaves teams with more time to build and less time to dispute those topics.

How to set up Angular projects

There are two main ways to setup Angular projects:

  • Angular CLI
  • Nx

The Angular CLI is more than capable of generating the boilerplate of Angular applications. You can also have multiple projects or apps in it using the Angular Workspaces.

With Nx you will get more of a monorepo experience, and it will configure the testing tools for Angular a bit differently - using Jest and Cypress instead of Karma and Jasmine. Linting, code formatting, and some other nice things are also configured when using Nx.

What other libs should I use

When using Angular, there are a lot of libraries for pretty much anything you need to do in a UI. There are of course very popular UI kits like Angular Material or ng-Bootstrap and many others.

For a comprehensive list of libraries, you can further explore here.

I want to learn more

There are many resources out there to learn Angular, but I can only recommend the ones that I looked at. If you can afford Pluralsight (or you can also look at their free trial option) - you can check out their Angular courses - there are plenty of them. Would start with:

Conclusions

Angular is a powerful framework, that many companies use especially in the enterprise space, and can be very beneficial to learn.

Thanks for reading and hope this content helps you get started with Angular! 🥳

What resources did you use to learn Angular?

If you like this article chances are you will also enjoy what I post on Twitter.

This post is also available on DEV.