Top resources to learn Angular in 2021
Tags: angular, javascript, typescript
Published: 2021-01-03 16:51:19

---
title: Top resources to learn Angular in 2021
description: How to learn Angular in 2021
canonical_url: https://blog.alexandrudanpop.dev/posts/top-resources-to-learn-angular-in-2021-1f27/
---
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](https://angular.io/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:
- [Store app](https://angular.io/start) 
- [Tour of heroes app](https://angular.io/tutorial)

Another small app you can start building is a *Currency Converter*, and you can follow this tutorial:
{% youtube j8OGOfKatBw %}

## Coding styles guide 
The nicest thing in Angular is that being an opinionated framework - it has best practices and the coding styles are [documented](https://angular.io/guide/styleguide#angular-coding-style-guide). 

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](https://cli.angular.io/) 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](https://angular.io/guide/file-structure).

With [Nx](https://nx.dev/angular) 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](https://material.angular.io/) or [ng-Bootstrap](https://ng-bootstrap.github.io/#/home) and many others. 

For a comprehensive list of libraries, you can further explore [here](https://angular.io/resources?category=development).

## 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:
- [Angular: Getting Started](https://app.pluralsight.com/library/courses/angular-2-getting-started-update/table-of-contents)
- [Angular Component Communication](https://app.pluralsight.com/library/courses/angular-component-communication/table-of-contents)

## 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](https://twitter.com/alexandrudanpop).