A comprehensive learning path for Angular, Google's TypeScript-based web application framework. You'll go from understanding core concepts like components and templates to mastering advanced patterns like state management, performance optimization, and enterprise architecture.
§ SYLLABUS
- 01TypeScript Essentials for Angular
Learn the TypeScript features Angular relies on most: interfaces, generics, decorators, type narrowing, and module syntax. You'll understand why Angular chose TypeScript and how the type system prevents common bugs.
- 02Angular CLI & Project Setup
Use the Angular CLI to scaffold, serve, build, and test projects. You'll understand the workspace structure, configuration files like angular.json, and how the build pipeline transforms your code.
- 03Angular Architecture Overview
Understand how Angular applications are structured: modules, components, services, and the dependency injection system. You'll learn how these pieces fit together and the flow of data through an Angular app.
- 01Components & Decorators
Build Angular components using the @Component decorator, understand the component lifecycle, and learn how metadata like selector, template, and styles configure behavior.
- 02Template Syntax & Data Binding
Master Angular's template syntax including interpolation, property binding, event binding, and two-way binding with ngModel. You'll understand how Angular's change detection keeps the DOM in sync with your data.
- 03Built-in & Custom Directives
Use structural directives like @if, @for, and @switch (or *ngIf, *ngFor) to control DOM structure, and attribute directives to modify element behavior. Learn to build your own custom directives.
- 04Pipes & Data Transformation
Transform displayed data using built-in pipes like date, currency, and async, and create custom pipes for reusable formatting logic in your templates.
- 05Component Communication
Pass data between components using @Input and @Output decorators, content projection with ng-content, and ViewChild/ContentChild queries. Understand when to use each pattern.
- 01Dependency Injection Fundamentals
Understand how Angular's hierarchical injector works, how providers are registered, and how the framework resolves dependencies at runtime. Learn the difference between providedIn root, module, and component-level injection.
- 02Services & Business Logic
Create injectable services to encapsulate business logic, share state between components, and interact with external APIs. Learn when to use services versus component-local state.
- 03HttpClient & API Communication
Use Angular's HttpClient to make HTTP requests, handle responses with RxJS observables, set up interceptors for auth tokens and error handling, and implement retry logic.
- 01RxJS Observables & Operators
Understand observables, observers, and subscriptions. Learn essential operators like map, filter, switchMap, mergeMap, and combineLatest that you'll use daily in Angular development.
- 02Subjects & Reactive State
Use BehaviorSubject, ReplaySubject, and AsyncSubject to manage reactive state. Understand multicasting and when to use each Subject variant for component communication and state sharing.
- 03Angular Signals
Learn Angular's new reactive primitive: signals, computed values, and effects. Understand how signals simplify state management compared to RxJS for synchronous state and how they integrate with the change detection system.
- 01Router Fundamentals
Configure routes, use router-outlet, navigate programmatically, and pass data via route parameters and query strings. Understand how Angular's router maps URLs to components.
- 02Lazy Loading & Code Splitting
Split your application into feature modules that load on demand using loadComponent and loadChildren. Understand how lazy loading reduces initial bundle size and improves startup performance.
- 03Route Guards & Resolvers
Protect routes with canActivate, canDeactivate, and canMatch guards. Pre-fetch data with resolvers so components render instantly with all required data.
- 01Reactive Forms
Build forms using FormControl, FormGroup, and FormArray with the ReactiveFormsModule. Understand how reactive forms give you explicit control over form state, validation, and dynamic form generation.
- 02Template-Driven Forms
Build simpler forms using ngModel and template references. Understand the trade-offs between template-driven and reactive approaches and when each is appropriate.
- 03Custom Validators & Error Handling
Create synchronous and asynchronous custom validators, cross-field validation, and reusable error display components. Learn patterns for user-friendly validation feedback.
- 01Component & Service-Based State
Manage application state using services with BehaviorSubjects or signals. Understand when simple service-based state is sufficient and how to structure it for maintainability.
- 02NgRx Store & Effects
Implement the Redux pattern with NgRx: actions, reducers, selectors, and effects. Understand when centralized state management adds value versus unnecessary complexity.
- 03NgRx SignalStore
Use the modern NgRx SignalStore for lightweight, signal-based state management. Understand how it compares to the full Redux-style NgRx Store and when to choose each approach.
- 01Unit Testing with TestBed
Write unit tests for components, services, and pipes using Angular's TestBed, Jasmine, and Karma (or Jest). Learn how to configure test modules, mock dependencies, and test component rendering.
- 02End-to-End Testing
Write integration and E2E tests using Cypress or Playwright to verify user workflows. Understand how to set up test fixtures, interact with the running application, and avoid flaky tests.
- 01Change Detection & OnPush Strategy
Understand how Angular's Zone.js-based change detection works, why OnPush improves performance, and how signals enable zoneless change detection. Learn to diagnose and fix performance bottlenecks.
- 02Server-Side Rendering & Hydration
Use Angular Universal or the built-in SSR support to render pages on the server. Understand hydration, transfer state, and when SSR improves SEO and perceived performance.
- 03Standalone Components & Modern Angular
Build applications using standalone components without NgModules. Understand the migration path from module-based to standalone architecture and how it simplifies the mental model.
- 04Build Optimization & Deployment
Configure production builds with tree-shaking, ahead-of-time compilation, bundle analysis, and differential loading. Set up CI/CD pipelines and deployment strategies for Angular applications.