8411  Reviews star_rate star_rate star_rate star_rate star_half

Advanced Angular Programing

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...

Read More
Duration 2 days
Course Code WA3765
Available Formats Classroom

Overview

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

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.

Course Details

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

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

ExitCertified gave me some good trainings and I got to learn through doing labs.

The tool provided to practice the course teachings is very functional and easy to use.

Good training. A lot to take in for the short amount of time we have though

I thought the course was informative and the tools to go over the material were very nice.

I was very satisfied about how the course was organized. Sean Did a very good work