651-905-3729 Microsoft Silver Learning Partner EC Counsel Reseller compTIA Authorized Partner

Advanced Angular Programming

2 days

Description

This advanced Angular training course teaches developers already familiar with Angular fundamentals how to build complex, enterprise-grade Angular applications. This course moves beyond basic component creation and into the intricacies of advanced routing, strategic use of NgModules alongside standalone components, and powerful reactive programming with RxJS. Learners gain in-depth knowledge of lazy loading, route guards, and nested routing, as well as understanding when and how to leverage NgModules for structuring larger applications. A significant portion of the course is dedicated to mastering RxJS for managing asynchronous operations and complex data flows. In addition, the course covers comprehensive unit testing strategies using tools like Jasmine and Karma/Jest, covering components, services, and asynchronous code.

Skills Gained

  • Implement Advanced Routing Scenarios
  • Manage Observable Subscriptions and State
  • Master RxJS for Reactive Programming
  • Write Comprehensive Unit Tests for Angular Applications
  • Mock Dependencies and Test Angular Specifics
  • Effectively Debug Angular Applications
  • Analyze and Resolve Common Angular Errors
  • Apply Best Practices for Advanced Angular Development
  • Strategically Utilize NgModules
  • Integrate Standalone Components with NgModules

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Advanced Angular Programming class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Course Overview

Advanced Routing

  • Lazy Loading Standalone Components
  • Route Guards
  • CanActivate, CanActivateChild, CanDeactivate, Resolve
  • Functional Guards
  • Child Routes (Nested Routes)
  • Multiple/Auxiliary Router Outlets
  • Router Events

Using NgModules

  • When to use NgModules
  • Creating a project that uses NgModules
  • NgModule Basics (@NgModule decorator)
  • NgModule Metadata Properties (declarations, imports, exports, providers, bootstrap)
  • Setting up Routing for Modules
  • Providing Services in NgModules
  • Module level HttpClient Configuration
  • Lazy Loading Modules
  • Feature Modules vs. Root Module
  • Shared Modules / Core Module patterns
  • Using Standalone Components within NgModules
  • Importing NgModules into Standalone components
  • When to still use NgModules

Observables & RxJS

  • Introduction to Observables
  • What are Observables? (vs. Promises)
  • Advanced RxJS Operators for HTTP (map, filter, tap, switchMap, mergeMap, forkJoin, catchError, retry)
  • Managing Subscriptions (AsyncPipe, takeUntil, take(1))
  • Creating Observables
  • Error Handling Strategies
  • Caching HTTP Responses

Unit Testing Angular Applications

  • Introduction to Unit Testing (Jasmine, Karma/Jest)
  • Setting up the Testing Environment (Angular CLI generates boilerplate)
  • Writing Test Suites (describe) and Specs (it)
  • Using Matchers (expect)
  • Setup and Teardown (beforeEach, afterEach, etc.)
  • Testing Standalone Components
  • Configuring TestBed for Standalone Components (imports)
  • ComponentFixture, DebugElement
  • Testing Services (with and without dependencies)
  • Mocking Dependencies
  • Testing Asynchronous Code (async, fakeAsync, tick)
  • Testing Components with Inputs/Outputs
  • Testing Routed Components (RouterTestingModule)
  • Testing with HttpClientTestingModule
  • Code Coverage

Debugging Angular Applications

  • Overview of Debugging Techniques
  • Using Browser Developer Tools (Breakpoints, Console)
  • Viewing TypeScript Code in Debugger
  • Using debugger Keyword
  • Debug Logging (console.log)
  • Angular DevTools Browser Extension
  • Inspecting Component Structure
  • Profiling Change Detection
  • Understanding and Debugging Common Errors

Lab Exercises

  • Advanced Routing
  • NgModules Lab
  • Observables & RxJS
  • Unit Testing for Angular
  • Debugging Angular Applications

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Advanced Angular Programming class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Prerequisites

Students must have a solid understanding of core Angular concepts as taught in our Introduction to Angular course and be familiar with browser applications and web development tools. Practical experience in developing one or more small to medium-sized Angular applications is helpful.

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Advanced Angular Programming class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date