Angular - The Complete Guide (2025 Edition)
All LevelsDevelopmentAngular

Angular - The Complete Guide (2025 Edition)

Master Angular (formerly "Angular 2") and build awesome, reactive web apps with the successor of Angular.js

Created by Maximilian Schwarzmüller
55.5 hours
Video Content
758
Lectures
826,791
Students
4.7
Rating
4.7
(826,791 students enrolled)

What you'll learn

Learn modern Angular, including standalone components & signals from the ground up & in great detail!
Learn how to send HTTP requests, implement routing, authenticate users or handle complex forms - and much more!
Develop modern, complex, responsive and scalable web applications with Angular
Fully understand the architecture behind an Angular application and how to use it
Learn TypeScript, a modern JavaScript superset, along the way
Create single-page or fullstack applications with one of the most modern JavaScript frameworks out there
Use the gained, deep understanding of the Angular fundamentals to quickly establish yourself as a frontend developer

Course Content

46 sections • 758 lectures • 55:48:16 total length

Getting Started

8 lectures • 32:10

Welcome To The Course!01:31
What Exactly Is Angular?01:49
Why Would You Use Angular?06:41
Angular's Evolution & Stability04:43
Creating A New Angular Project07:42
+3 more lectures

Angular Essentials - Components, Templates, Services & More

55 lectures • 04:50:51

Module Introduction01:19
A New Starting Project & Analyzing The Project Structure07:46
Understanding Components & How Content Ends Up On The Screen06:17
Creating a First Custom Component06:08
[Optional] JavaScript Refresher: Classes, Properties & More01:20
+50 more lectures

Angular Essentials - Working with Modules

10 lectures • 39:40

Module Introduction02:16
A First Introduction To Angular Modules (NgModule)03:05
Angular 19, Standalone Components & Modules00:40
Creating a First Empty Module02:55
Bootstrapping Apps with Angular Modules05:21
+5 more lectures

Angular Essentials - Time To Practice

17 lectures • 01:36:31

Module Introduction & Starting Project05:19
Exercise Hints01:27
Adding a Header Component With An Image05:10
Adding a User Input Component06:42
Handling Form Submission02:29
+12 more lectures

Debugging Angular Apps

4 lectures • 15:36

Module Introduction01:41
Understanding Error Messages & Fixing Errors03:46
Debugging Logical Errors with the Browser DevTools & Breakpoints06:19
Exploring the Angular DevTools03:50

Components & Templates - Deep Dive

53 lectures • 04:15:46

Module Introduction02:00
Starting Project & An Opportunity For Smaller Components?02:34
When & How To Split Up Components04:25
Splitting A Component Into Multiple Components08:45
Creating Reusable Components03:58
+48 more lectures

Enhancing Elements with Directives - Deep Dive

13 lectures • 01:10:35

Module Introduction01:03
Understanding Directives02:57
The Starting Project01:04
Analyzing a Built-in Attribute Directive: ngModel05:41
Analyzing a Built-in Structural Directive: ngIf06:29
+8 more lectures

Transforming Values with Pipes - Deep Dive

12 lectures • 46:46

Module Introduction00:35
Making Sense of Pipes02:55
Using Built-in Pipes02:56
More Built-in Pipes Examples04:18
Building a First Custom Pipe05:57
+7 more lectures

Understanding Services & Dependency Injection - Deep Dive

18 lectures • 01:28:36

Module Introduction00:58
The Starting Project & The Need For A Centralized Service03:14
Creating a Service07:27
How NOT To Provide A Service02:23
Using Angular's Dependency Injection Mechanism05:01
+13 more lectures

Making Sense of Change Detection - Deep Dive

14 lectures • 01:07:55

Module Introduction01:52
Analyzing the Starting Project01:52
Understanding How Angular Performs Change Detection04:44
Change Detection During Development: ExpressionChangedAfterChecked Errors02:45
Writing Efficient Template Bindings01:19
+9 more lectures

Working with RxJS (Observables) - Deep Dive

10 lectures • 51:46

Module Introduction00:52
What Are Observables & What Is RxJS?01:07
Creating & Using an Observable09:17
Working with RxJS Operators05:34
Working with Signals05:12
+5 more lectures

Sending HTTP Requests & Handling Responses

23 lectures • 01:44:56

Module Introduction01:28
The Starting Projects: Frontend & Backend04:42
How To Connect Angular Apps To A Backend04:02
Optional: HTTP Essentials00:12
Getting Started with Angular's Http Client04:23
+18 more lectures

Handling User Input & Working with Forms (Template-driven & Reactive)

25 lectures • 02:15:17

Module Introduction02:27
Template-driven vs Reactive Forms02:53
Template-driven: Registering Form Controls06:00
Getting Access to the Angular-managed Form08:31
Extracting User Input Values02:46
+20 more lectures

Routing & Building Multi-page Single Page Applications

35 lectures • 02:28:35

Module Introduction01:57
What Is Routing?02:35
Enabling Routing & Adding a First Route06:15
Rendering Routes03:34
Registering Multiple Routes03:14
+30 more lectures

Code Splitting & Deferrable Views

12 lectures • 35:57

Module Introduction01:04
What Is Lazy Loading / Code Splitting?01:36
Introducing Route-based Lazy Loading02:49
Implementing Route-based Lazy Loading08:14
Lazy Loading Entire Route Groups05:19
+7 more lectures

Deploying Angular Apps - CSR, SSR, SGA

15 lectures • 47:45

Module Introduction01:08
The Starting Project00:05
Preparing a Project For Deployment: Building It For Production04:56
Building SPAs: Pros & Cons03:42
SPAs: Deployment Example07:54
+10 more lectures

Course Roundup & Next Steps

4 lectures • 05:06

Course Roundup01:48
Bonus: More Content!00:20
About The Rest Of This Course02:10
Where To Go Next?00:47

The Basics [Angular < 16]

34 lectures • 01:57:04

About This Section01:03
Module Introduction00:56
How an Angular App gets Loaded and Started07:11
Components are Important!03:08
Creating a New Component06:51
+32 more lectures

Course Project - The Basics [Angular < 16]

18 lectures • 01:04:53

About This Section00:40
Project Introduction01:04
Planning the App05:33
Creating a New App Correctly00:46
Setting up the Application04:31
+13 more lectures

Debugging [Angular < 16]

2 lectures • 10:08

Understanding Angular Error Messages04:36
Debugging Code in the Browser Using Sourcemaps05:32

Components & Databinding Deep Dive [Angular < 16]

21 lectures • 01:24:43

Module Introduction00:36
Splitting Apps into Components05:56
Property & Event Binding Overview01:44
Binding to Custom Properties05:43
Assigning an Alias to Custom Properties01:59
+17 more lectures

Course Project - Components & Databinding [Angular < 16]

6 lectures • 31:06

Introduction00:50
Adding Navigation with Event Binding and ngIf07:31
Passing Recipe Data with Property Binding04:43
Passing Data with Event and Property Binding (Combined)10:31
Make sure you have FormsModule added!00:09
+1 more lectures

Directives Deep Dive [Angular < 16]

12 lectures • 47:01

Module Introduction01:23
ngFor and ngIf Recap03:36
ngClass and ngStyle Recap02:57
Creating a Basic Attribute Directive06:42
Using the Renderer to build a Better Attribute Directive07:04
+7 more lectures

Course Project - Directives [Angular < 16]

2 lectures • 06:43

Building and Using a Dropdown Directive06:25
Closing the Dropdown From Anywhere00:18

Using Services & Dependency Injection [Angular < 16]

12 lectures • 45:10

Module Introduction01:39
Why would you Need Services?02:04
Creating a Logging Service03:32
Injecting the Logging Service into Components06:21
Alternative Injection Syntax00:34
+8 more lectures

Course Project - Services & Dependency Injection [Angular < 16]

8 lectures • 30:48

Introduction01:23
Setting up the Services01:15
Managing Recipes in a Recipe Service04:07
Using a Service for Cross-Component Communication05:07
Adding the Shopping List Service05:04
+3 more lectures

Changing Pages with Routing [Angular < 16]

31 lectures • 02:18:08

Module Introduction01:26
Why do we need a Router?01:16
Understanding the Example Project00:10
Setting up and Loading Routes08:01
Navigating with Router Links05:18
+26 more lectures

Course Project - Routing [Angular < 16]

15 lectures • 45:30

Planning the General Structure01:36
Setting Up Routes07:58
Adding Navigation to the App01:41
Marking Active Routes01:31
Fixing Page Reload Issues02:51
+10 more lectures

Understanding Observables [Angular < 16]

11 lectures • 45:11

Module Introduction04:25
Install RxJS00:07
Analyzing Angular Observables02:15
Getting Closer to the Core of Observables06:50
Building a Custom Observable04:46
+6 more lectures

Course Project - Observables [Angular < 16]

2 lectures • 06:11

Improving the Reactive Service with Observables (Subjects)06:04
Changed the Subscription Name00:07

Handling Forms in Angular Apps [Angular < 16]

35 lectures • 02:02:46

Module Introduction01:19
Why do we Need Angular's Help?02:21
Template-Driven (TD) vs Reactive Approach01:16
An Example Form01:32
TD: Creating the Form and Registering the Controls05:42
+32 more lectures

Course Project - Forms [Angular < 16]

23 lectures • 01:14:45

Introduction00:59
TD: Adding the Shopping List Form03:42
Adding Validation to the Form02:21
Allowing the Selection of Items in the List04:24
Loading the Shopping List Items into the Form03:02
+18 more lectures

Using Pipes to Transform Output [Angular < 16]

10 lectures • 37:03

Introduction & Why Pipes are Useful02:01
Using Pipes03:28
Parametrizing Pipes02:10
Where to learn more about Pipes01:56
Chaining Multiple Pipes02:20
+6 more lectures

Making Http Requests [Angular < 16]

28 lectures • 01:41:18

A New IDE00:43
Module Introduction01:06
How Does Angular Interact With Backends?03:09
The Anatomy of a Http Request02:27
Backend (Firebase) Setup02:34
+23 more lectures

Course Project - Http [Angular < 16]

8 lectures • 34:18

Module Introduction00:55
Backend (Firebase) Setup02:03
Setting Up the DataStorage Service05:32
Storing Recipes06:39
Fetching Recipes05:38
+3 more lectures

Authentication & Route Protection in Angular

23 lectures • 02:12:15

Module Introduction00:52
How Authentication Works05:01
Adding the Auth Page06:44
Switching Between Auth Modes04:02
Handling Form Input03:44
+18 more lectures

Dynamic Components [Angular < 16]

11 lectures • 39:18

Module Introduction01:09
Adding an Alert Modal Component07:33
Understanding the Different Approaches02:28
Using ngIf03:05
Preparing Programmatic Creation08:27
+6 more lectures

Angular Modules & Optimizing Angular Apps [Angular < 16]

18 lectures • 01:28:02

Module Introduction00:41
What are Modules?02:26
Analyzing the AppModule06:24
Getting Started with Feature Modules08:59
Splitting Modules Correctly04:09
+13 more lectures

Standalone Components

11 lectures • 45:41

Module Introduction01:27
Starting Setup & Why We Want Standalone Components04:48
Building a First Standalone Component09:49
Standalone Components Are Now Stable00:34
Standalone Directives & Connecting Building Blocks02:19
+6 more lectures

Angular Signals

10 lectures • 27:38

Module Introduction01:08
Signals: What & Why?05:40
Creating a New Signal03:23
Updating a Signal Value02:34
Reading & Outputting a Signal Value02:11
+5 more lectures

Bonus: Using NgRx For State Management

22 lectures • 01:54:49

Module Introduction00:57
What Is NgRx?02:08
Understanding NgRx & Its Building Blocks03:58
Project Setup & Installing NgRx05:12
Adding a First Reducer & Store Setup08:35
+17 more lectures

Angular Animations

12 lectures • 39:20

Making Animations Work with Angular 4+00:25
Introduction01:03
Setting up the Starting Project00:52
Animations Triggers and State07:11
Switching between States02:04
+7 more lectures

Adding Offline Capabilities with Service Workers

5 lectures • 27:22

Module Introduction02:09
Adding Service Workers12:41
Caching Assets for Offline Use05:28
Caching Dynamic Assets & URLs07:02
Further Links & Resources00:02

A Basic Introduction to Unit Testing in Angular Apps

11 lectures • 45:15

About this Section00:11
Introduction01:18
Why Unit Tests?02:12
Analyzing the Testing Setup (as created by the CLI)08:01
Running Tests (with the CLI)01:59
+6 more lectures

Angular as a Platform & Closer Look at the CLI

15 lectures • 01:06:36

Module Introduction01:44
A Closer Look at "ng new"05:18
IDE & Project Setup02:31
Understanding the Config Files09:01
Important CLI Commands05:25
+10 more lectures

Bonus: TypeScript Introduction (for Angular 2 Usage)

14 lectures • 01:00:36

Module Introduction01:15
What & Why?06:32
Installing & Using TypeScript06:22
Base Types & Primitives03:55
Array & Object Types05:33
+9 more lectures

Description

Ready for Angular 19

This course was built for Angular 19+! It uses standalone components & signals right from the start.

2024: Big update released!

The entire course was re-recorded from scratch and was therefore completely updated! It's now 100% up-to-date with the latest version of Angular again, covering crucial modern features like signals, standalone components etc.

Many new deep-dive sections on these core topics were added, hence ensuring that you learn ALL about modern Angular in-depth. In addition, the course also still covers older Angular versions & syntax, so that you get the most out of this course, no matter with which Angular version you're working.

Brand-new "Essentials" sections were added, covering modern Angular (incl. standalone components, signals, new control flow & more) from the ground up.

This course therefore once again teaches modern Angular, whilst also teaching "older" Angular features since many projects are still stuck on old Angular versions. With this course, you'll be ready to work with Angular, no matter which version you might be using in your next project!

---

Join the most comprehensive and bestselling Angular course on Udemy and learn all about this amazing framework from the ground up, in great depth!

This course starts from scratch, you neither need to know Angular 1 nor Angular 2 or any other Angular version!

From Setup to Deployment, this course covers it all! You'll learn all about Components, Directives, Services, Forms, Http Access, Authentication, Optimizing an Angular App with Modules and Offline Compilation and much more - and in the end: You'll learn how to deploy an application!

But that's not all! This course will also show you how to use the Angular CLI and feature a complete project, which allows you to practice the things learned throughout the course!

And if you do get stuck, you benefit from an extremely fast and friendly support - both via direct messaging or discussion. You have my word! ;-)

Angular is one of the most modern, performance-efficient and powerful frontend frameworks you can learn as of today. It allows you to build great web apps which offer awesome user experiences! Learn all the fundamentals you need to know to get started developing Angular applications right away.

Hear what my students have to say

"Absolutely fantastic tutorial series. I cannot thank you enough. The quality is first class and your presentational skills are second to none. Keep up this excellent work. You really rock! - Paul Whitehouse"

"The instructor, Max, is very enthusiastic and engaging. He does a great job of explaining what he's doing and why rather than having students just mimic his coding. Max was also very responsive to questions. I would recommend this course and any others that he offers. Thanks, Max!"

"As a person new to both JavaScript and Angular 2 I found this course extremely helpful because Max does a great job of explaining all the important concepts behind the code. Max has a great teaching ability to focus on what his audience needs to understand."

This Course uses TypeScript

TypeScript is the main language used by the official Angular team and the language you'll mostly see in Angular tutorials. It's a superset to JavaScript and makes writing Angular apps really easy. Using it ensures, that you will have the best possible preparation for creating Angular apps. Check out the free videos for more information.

TypeScript knowledge is, however, not required - basic JavaScript knowledge is enough.

Why Angular?

Angular is the next big deal. Being the successor of the overwhelmingly successful Angular.js framework it’s bound to shape the future of frontend development in a similar way. The powerful features and capabilities of Angular allow you to create complex, customizable, modern, responsive and user friendly web applications.

Angular is faster than Angular 1 and offers a much more flexible and modular development approach. After taking this course you’ll be able to fully take advantage of all those features and start developing awesome applications immediately.

Due to the drastic differences between Angular 1 and Angular (= Angular 2+) you don’t need to know anything about Angular.js to be able to benefit from this course and build your futures projects with Angular.

Get a very deep understanding of how to create Angular applications

This course will teach you all the fundamentals about modules, directives, components, databinding, routing, HTTP access and much more! We will take a lot of deep dives and each section is backed up with a real project. All examples showcase the features Angular offers and how to apply them correctly.

Specifically you will learn:

  • Which architecture Angular uses

  • How to use TypeScript to write Angular applications

  • All about directives and components, including the creation of custom directives/ components

  • How databinding works

  • All about routing and handling navigation

  • What pipes are and how to use them

  • How to send HTTP requests (e.g. to REST APIs)

  • What dependency injection is and how to use it

  • How to use modules in Angular

  • How to optimize your (bigger) Angular applications

  • An introduction to NgRx and complex state management

  • We will build a major project in this course so that you can practice all concepts

  • And so much more!

Pay once, benefit a lifetime!

Don’t lose any time, gain an edge and start developing now!

Who this course is for:

  • Newcomer as well as experienced frontend developers interested in learning a modern JavaScript framework
  • This course is for everyone interested in learning a state-of-the-art frontend JavaScript framework
  • Taking this course will enable you to be amongst the first to gain a very solid understanding of Angular

This course includes:

  • 55.5 hours on-demand video
  • 57 articles
  • 142 downloadable resources
  • Access on mobile and TV
  • Full lifetime access
  • Certificate of completion

Instructor

Maximilian Schwarzmüller

Students also download

Explore related courses to expand your learning journey.