<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="23412" language="en" source="https://portal.flane.ch/swisscom/en/xml-course/training-ngadv" lastchanged="2026-03-24T19:23:56+01:00" parent="https://portal.flane.ch/swisscom/en/xml-courses"><title>Advanced Angular Development</title><productcode>NGADV</productcode><vendorcode>FL</vendorcode><vendorname>Fast Lane</vendorname><fullproductcode>FL-NGADV</fullproductcode><version>14</version><contents>&lt;ul&gt;
&lt;li&gt;Standalone Components - Concepts &amp;amp; Migration: Understand the differences between standalone components and modules, delve into Angular&amp;#039;s bootstrapping process, and learn how to migrate an existing project to use standalone components.&lt;/li&gt;&lt;li&gt;Components &amp;amp; Forms Deep Dive: Explore advanced component and form techniques, including control flow syntax, deferred loading, content projection, cascading reactive forms, and creating custom controls with enhanced validation and error handling.&lt;/li&gt;&lt;li&gt;Mastering Reactive Programming using RxJS: Master RxJS concepts like observables, operators, and error handling strategies, along with practical debugging and testing techniques for implementing custom observable operators.&lt;/li&gt;&lt;li&gt;Mastering Reactivity using Signals: Learn about signals and their interoperability with observables, data retrieval methods, and effective communication between components using advanced signal techniques and the Event Bus pattern.&lt;/li&gt;&lt;li&gt;State Management using NgRx Classic &amp;amp; NgRx SignalStore: Discover state management patterns, implement both NgRx Classic and SignalStore, manage side effects, and create custom store features while tracking state changes efficiently.&lt;/li&gt;&lt;li&gt;Advanced Routing and App Initialization: Gain deep insights into dependency injection, app initialization, global error handling, and advanced routing techniques including view transitions, auxiliary routes, and router animations.&lt;/li&gt;&lt;li&gt;Advanced Testing with Jasmine, Jest, Cypress and NgRx: Comprehensively test Angular applications using tools like Jasmine, Jest, and Cypress, covering unit tests, complex form testing, state management testing, and end-to-end testing.&lt;/li&gt;&lt;li&gt;Reusability with Libraries, Nx &amp;amp; Angular Elements: Create reusable Angular artifacts using libraries and Nx workspaces, and develop reusable components like an AI chat using Angular Elements.&lt;/li&gt;&lt;li&gt;Real Time Micro-Frontends &amp;amp; Progressive Web Apps: Understand micro-frontends and progressive web apps, focusing on real-time connected micro-frontends, HTML5 APIs, service workers, and PWA installation and updates.&lt;/li&gt;&lt;li&gt;Server Side Rendering (SSR): Get introduced to SSR, including build-time pre-rendering, optimizing components for server-side, hybrid rendering, and incremental hydration for improved performance.&lt;/li&gt;&lt;li&gt;Optimizing Applications: Use tools like Chrome Dev Tools and Lighthouse to optimize application performance, analyze bundles, improve change detection, provide localization and ensure accessibility and configuration management best practices.&lt;/li&gt;&lt;/ul&gt;</contents><outline>&lt;h5&gt;Standalone Components: Concepts &amp;amp; Migration&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Standalone Components vs Modules&lt;/li&gt;&lt;li&gt;Understanding the Angular Bootstrapping Process&lt;/li&gt;&lt;li&gt;Registering Providers in app.config.ts&lt;/li&gt;&lt;li&gt;Routing and app.routes.ts&lt;/li&gt;&lt;li&gt;Migrate an existing Project to Standalone Components&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Components &amp;amp; Forms Deep Dive&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Using &amp;amp; Migrating to Control Flow Syntax&lt;/li&gt;&lt;li&gt;Deferred Loading &amp;amp; Selective Activation using @deferred&lt;/li&gt;&lt;li&gt;Standalone Directives &amp;amp; Directives Composition Api&lt;/li&gt;&lt;li&gt;Reusability with Content Projection&lt;/li&gt;&lt;li&gt;Reactive Forms (FormGroup, Form Builder, FormControl, FormArray)&lt;/li&gt;&lt;li&gt;Typed Forms Nullability, NonNullableFormBuilder, GetRawValue&lt;/li&gt;&lt;li&gt;Partial Values, Optional Controls, Dynamic Groups and FormRecord&lt;/li&gt;&lt;li&gt;Classic Form Events vs Unified Form Events&lt;/li&gt;&lt;li&gt;Cascading Form Controls&lt;/li&gt;&lt;li&gt;Implementing Custom Controls using ControlValueAccessor&lt;/li&gt;&lt;li&gt;Typed Forms Validation &amp;amp; Custom Validators&lt;/li&gt;&lt;li&gt;Handling FormErrors &amp;amp; ErrorStateMatcher&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Mastering Reactive Programming using RxJS&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Introduction to RxJS&lt;/li&gt;&lt;li&gt;Observables, Observers &amp;amp; Use Cases&lt;/li&gt;&lt;li&gt;Unsubscribing DestroyRef &amp;amp; takeUntilDestroyed&lt;/li&gt;&lt;li&gt;Imperative vs Declarative Reactivity&lt;/li&gt;&lt;li&gt;Data- vs Action-Streams&lt;/li&gt;&lt;li&gt;Mouse &amp;amp; DOM Events as Observables&lt;/li&gt;&lt;li&gt;Subject Types &amp;amp; Stateful Services&lt;/li&gt;&lt;li&gt;Base Operators: Mapping, Filtering, Merging,&lt;/li&gt;&lt;li&gt;Understanding Marble Diagrams &amp;amp; Debugging Observables&lt;/li&gt;&lt;li&gt;Combination &amp;amp; Transformation Operators&lt;/li&gt;&lt;li&gt;Retry &amp;amp; Error Handling Strategies&lt;/li&gt;&lt;li&gt;Implementing &amp;amp; Testing Custom Observable Operators&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Mastering Reactivity using Signals&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Introduction to Signals (WritableSignal, Computed, Effects)&lt;/li&gt;&lt;li&gt;Signals vs Observables&lt;/li&gt;&lt;li&gt;Signals &amp;amp; Observables Interoperability&lt;/li&gt;&lt;li&gt;Deep Signals &amp;amp; Linked Signals&lt;/li&gt;&lt;li&gt;Data Retrieval using resource() and rxResource()&lt;/li&gt;&lt;li&gt;Nesting Components using Signals, input, output &amp;amp; model&lt;/li&gt;&lt;li&gt;View Queries: viewChild, -Children, contentChild, -Children&lt;/li&gt;&lt;li&gt;Creating View Models using Deep Signals&lt;/li&gt;&lt;li&gt;Communication between Components using Event Bus Pattern&lt;/li&gt;&lt;li&gt;ngAfterSignalUpdate Lifecycle Hook&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;State Management using NgRx Classic &amp;amp; NgRx SignalStore&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Overview State Management Patterns&lt;/li&gt;&lt;li&gt;NgRx Classic vs Signal Store&lt;/li&gt;&lt;li&gt;Introduction to the Classic NgRx &amp;amp; Redux Pattern&lt;/li&gt;&lt;li&gt;Implementing NgRx Store, Reducers &amp;amp; Selectors using createFeature&lt;/li&gt;&lt;li&gt;Actions &amp;amp; createActionGroup&lt;/li&gt;&lt;li&gt;Effects, Facades, @ngrx/entity &amp;amp; @ngrx/data&lt;/li&gt;&lt;li&gt;Creating a Signals Store using @ngrx/signals&lt;/li&gt;&lt;li&gt;NgRx and Signals Interoperability&lt;/li&gt;&lt;li&gt;Side Effects using rxMethod&lt;/li&gt;&lt;li&gt;Signals Store, Entity &amp;amp; Custom Data Services&lt;/li&gt;&lt;li&gt;Implementing and using Custom Store Features&lt;/li&gt;&lt;li&gt;Tracking State changes&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Advanced Routing and App Initialization&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Dependency Injection in Depth: Resolution modifiers and Dependency providers&lt;/li&gt;&lt;li&gt;Using Constructor vs inject for DI&lt;/li&gt;&lt;li&gt;App initialization &amp;amp; Interceptors&lt;/li&gt;&lt;li&gt;Global Error Handling &amp;amp; Http-Error Interceptor with Retry-Patterns&lt;/li&gt;&lt;li&gt;Using Preloading Strategies &amp;amp; Functional Resolvers&lt;/li&gt;&lt;li&gt;Functional Route Guards&lt;/li&gt;&lt;li&gt;Route Redirect Functions&lt;/li&gt;&lt;li&gt;Binding Router-Params to Component Inputs &amp;amp; routerOutletData&lt;/li&gt;&lt;li&gt;View Transition Api&lt;/li&gt;&lt;li&gt;Auxiliary Routes: Common use cases&lt;/li&gt;&lt;li&gt;Router Animations &amp;amp; Anchor Scrolling&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Advanced Testing with Jasmine, Jest, Cypress and NgRx&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Introduction Angular Testing Tools (Jasmine, Karma, Jest &amp;amp; Cypress)&lt;/li&gt;&lt;li&gt;Testing Classes, Pipes, Directives&lt;/li&gt;&lt;li&gt;Testing Services using HttpClientTestingModule &amp;amp; HttpTestingController&lt;/li&gt;&lt;li&gt;Testing Component Interaction (Read, Write, Emit, Inputs)&lt;/li&gt;&lt;li&gt;Complex Forms Testing &amp;amp; Deferrable Views&lt;/li&gt;&lt;li&gt;Testing Observables &amp;amp; Signals&lt;/li&gt;&lt;li&gt;Material Testing using Component Harnesses&lt;/li&gt;&lt;li&gt;Async Component Testing (done, fakeAsync, waitForAsync)&lt;/li&gt;&lt;li&gt;Marble-testing RxJS&lt;/li&gt;&lt;li&gt;Testing NgRx Classic: Mock Store, Mock Selectors, Reducers, Effects, Facades&lt;/li&gt;&lt;li&gt;Testing Signal Store &amp;amp; Custom Features&lt;/li&gt;&lt;li&gt;Using Jest for Unit Testing (Setup, Changes in spec, Snapshot Tests)&lt;/li&gt;&lt;li&gt;Introduction to End-2-End Testing using Cypress&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Reusability with Libraries, Nx &amp;amp; Angular Elements&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Angular Building Blocks: Workspace, Apps, Libraries&lt;/li&gt;&lt;li&gt;Reusable Artifacts using Angular Libraries&lt;/li&gt;&lt;li&gt;Introduction to Nx Workspaces&lt;/li&gt;&lt;li&gt;Creating a reusable AI Chat Component using Angular Elements&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Real Time Micro-Frontends &amp;amp; Progressive Web Apps&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Introduction to Micro-Frontends&lt;/li&gt;&lt;li&gt;Real Time connected Micro-Frontend processing Cloud Events&lt;/li&gt;&lt;li&gt;Introduction to Progressive Web Apps&lt;/li&gt;&lt;li&gt;HTML 5 APIs&lt;/li&gt;&lt;li&gt;Understanding and Configuring Service Workers &amp;amp; Manifests&lt;/li&gt;&lt;li&gt;Installing &amp;amp; Updating Progressive Web Apps&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Server Side Rendering (SSR)&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Introduction to Server Side Rendering (SSR)&lt;/li&gt;&lt;li&gt;Build-time pre-rerendering&lt;/li&gt;&lt;li&gt;Optimize Components using Platform Specific Code&lt;/li&gt;&lt;li&gt;Hybrid Rendering&lt;/li&gt;&lt;li&gt;Introduction to Hydration &amp;amp; Incremental Hydration&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Optimizing Applications&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Using Chrome Dev Tools &amp;amp; Lighthouse for Performance Optimization&lt;/li&gt;&lt;li&gt;Understanding &amp;amp; Using Page Traces &amp;amp; Web Vitals&lt;/li&gt;&lt;li&gt;Analyzing and Optimizing Bundles &amp;amp; Components&lt;/li&gt;&lt;li&gt;Build Optimizations using Angular CLI&lt;/li&gt;&lt;li&gt;Optimizing Images using NgOptimizedImage&lt;/li&gt;&lt;li&gt;Data-Loading Strategies, Virtual- &amp;amp; Infinite Scrolling,&lt;/li&gt;&lt;li&gt;Understanding, Profiling &amp;amp; Optimizing Angular Change Detection&lt;/li&gt;&lt;li&gt;Zoneless Change Detection&lt;/li&gt;&lt;li&gt;Using @angular/localize&lt;/li&gt;&lt;li&gt;Accessibility A11y: Best Practices &amp;amp; Linting&lt;/li&gt;&lt;li&gt;Using Linting and Autoformat with Prettier&lt;/li&gt;&lt;li&gt;Configuration Management &amp;amp; Containers&lt;/li&gt;&lt;/ul&gt;</outline><contents_plain>- Standalone Components - Concepts &amp; Migration: Understand the differences between standalone components and modules, delve into Angular's bootstrapping process, and learn how to migrate an existing project to use standalone components.
- Components &amp; Forms Deep Dive: Explore advanced component and form techniques, including control flow syntax, deferred loading, content projection, cascading reactive forms, and creating custom controls with enhanced validation and error handling.
- Mastering Reactive Programming using RxJS: Master RxJS concepts like observables, operators, and error handling strategies, along with practical debugging and testing techniques for implementing custom observable operators.
- Mastering Reactivity using Signals: Learn about signals and their interoperability with observables, data retrieval methods, and effective communication between components using advanced signal techniques and the Event Bus pattern.
- State Management using NgRx Classic &amp; NgRx SignalStore: Discover state management patterns, implement both NgRx Classic and SignalStore, manage side effects, and create custom store features while tracking state changes efficiently.
- Advanced Routing and App Initialization: Gain deep insights into dependency injection, app initialization, global error handling, and advanced routing techniques including view transitions, auxiliary routes, and router animations.
- Advanced Testing with Jasmine, Jest, Cypress and NgRx: Comprehensively test Angular applications using tools like Jasmine, Jest, and Cypress, covering unit tests, complex form testing, state management testing, and end-to-end testing.
- Reusability with Libraries, Nx &amp; Angular Elements: Create reusable Angular artifacts using libraries and Nx workspaces, and develop reusable components like an AI chat using Angular Elements.
- Real Time Micro-Frontends &amp; Progressive Web Apps: Understand micro-frontends and progressive web apps, focusing on real-time connected micro-frontends, HTML5 APIs, service workers, and PWA installation and updates.
- Server Side Rendering (SSR): Get introduced to SSR, including build-time pre-rendering, optimizing components for server-side, hybrid rendering, and incremental hydration for improved performance.
- Optimizing Applications: Use tools like Chrome Dev Tools and Lighthouse to optimize application performance, analyze bundles, improve change detection, provide localization and ensure accessibility and configuration management best practices.</contents_plain><outline_plain>Standalone Components: Concepts &amp; Migration


- Standalone Components vs Modules
- Understanding the Angular Bootstrapping Process
- Registering Providers in app.config.ts
- Routing and app.routes.ts
- Migrate an existing Project to Standalone Components
Components &amp; Forms Deep Dive


- Using &amp; Migrating to Control Flow Syntax
- Deferred Loading &amp; Selective Activation using @deferred
- Standalone Directives &amp; Directives Composition Api
- Reusability with Content Projection
- Reactive Forms (FormGroup, Form Builder, FormControl, FormArray)
- Typed Forms Nullability, NonNullableFormBuilder, GetRawValue
- Partial Values, Optional Controls, Dynamic Groups and FormRecord
- Classic Form Events vs Unified Form Events
- Cascading Form Controls
- Implementing Custom Controls using ControlValueAccessor
- Typed Forms Validation &amp; Custom Validators
- Handling FormErrors &amp; ErrorStateMatcher
Mastering Reactive Programming using RxJS


- Introduction to RxJS
- Observables, Observers &amp; Use Cases
- Unsubscribing DestroyRef &amp; takeUntilDestroyed
- Imperative vs Declarative Reactivity
- Data- vs Action-Streams
- Mouse &amp; DOM Events as Observables
- Subject Types &amp; Stateful Services
- Base Operators: Mapping, Filtering, Merging,
- Understanding Marble Diagrams &amp; Debugging Observables
- Combination &amp; Transformation Operators
- Retry &amp; Error Handling Strategies
- Implementing &amp; Testing Custom Observable Operators
Mastering Reactivity using Signals


- Introduction to Signals (WritableSignal, Computed, Effects)
- Signals vs Observables
- Signals &amp; Observables Interoperability
- Deep Signals &amp; Linked Signals
- Data Retrieval using resource() and rxResource()
- Nesting Components using Signals, input, output &amp; model
- View Queries: viewChild, -Children, contentChild, -Children
- Creating View Models using Deep Signals
- Communication between Components using Event Bus Pattern
- ngAfterSignalUpdate Lifecycle Hook
State Management using NgRx Classic &amp; NgRx SignalStore


- Overview State Management Patterns
- NgRx Classic vs Signal Store
- Introduction to the Classic NgRx &amp; Redux Pattern
- Implementing NgRx Store, Reducers &amp; Selectors using createFeature
- Actions &amp; createActionGroup
- Effects, Facades, @ngrx/entity &amp; @ngrx/data
- Creating a Signals Store using @ngrx/signals
- NgRx and Signals Interoperability
- Side Effects using rxMethod
- Signals Store, Entity &amp; Custom Data Services
- Implementing and using Custom Store Features
- Tracking State changes
Advanced Routing and App Initialization


- Dependency Injection in Depth: Resolution modifiers and Dependency providers
- Using Constructor vs inject for DI
- App initialization &amp; Interceptors
- Global Error Handling &amp; Http-Error Interceptor with Retry-Patterns
- Using Preloading Strategies &amp; Functional Resolvers
- Functional Route Guards
- Route Redirect Functions
- Binding Router-Params to Component Inputs &amp; routerOutletData
- View Transition Api
- Auxiliary Routes: Common use cases
- Router Animations &amp; Anchor Scrolling
Advanced Testing with Jasmine, Jest, Cypress and NgRx


- Introduction Angular Testing Tools (Jasmine, Karma, Jest &amp; Cypress)
- Testing Classes, Pipes, Directives
- Testing Services using HttpClientTestingModule &amp; HttpTestingController
- Testing Component Interaction (Read, Write, Emit, Inputs)
- Complex Forms Testing &amp; Deferrable Views
- Testing Observables &amp; Signals
- Material Testing using Component Harnesses
- Async Component Testing (done, fakeAsync, waitForAsync)
- Marble-testing RxJS
- Testing NgRx Classic: Mock Store, Mock Selectors, Reducers, Effects, Facades
- Testing Signal Store &amp; Custom Features
- Using Jest for Unit Testing (Setup, Changes in spec, Snapshot Tests)
- Introduction to End-2-End Testing using Cypress
Reusability with Libraries, Nx &amp; Angular Elements


- Angular Building Blocks: Workspace, Apps, Libraries
- Reusable Artifacts using Angular Libraries
- Introduction to Nx Workspaces
- Creating a reusable AI Chat Component using Angular Elements
Real Time Micro-Frontends &amp; Progressive Web Apps


- Introduction to Micro-Frontends
- Real Time connected Micro-Frontend processing Cloud Events
- Introduction to Progressive Web Apps
- HTML 5 APIs
- Understanding and Configuring Service Workers &amp; Manifests
- Installing &amp; Updating Progressive Web Apps
Server Side Rendering (SSR)


- Introduction to Server Side Rendering (SSR)
- Build-time pre-rerendering
- Optimize Components using Platform Specific Code
- Hybrid Rendering
- Introduction to Hydration &amp; Incremental Hydration
Optimizing Applications


- Using Chrome Dev Tools &amp; Lighthouse for Performance Optimization
- Understanding &amp; Using Page Traces &amp; Web Vitals
- Analyzing and Optimizing Bundles &amp; Components
- Build Optimizations using Angular CLI
- Optimizing Images using NgOptimizedImage
- Data-Loading Strategies, Virtual- &amp; Infinite Scrolling,
- Understanding, Profiling &amp; Optimizing Angular Change Detection
- Zoneless Change Detection
- Using @angular/localize
- Accessibility A11y: Best Practices &amp; Linting
- Using Linting and Autoformat with Prettier
- Configuration Management &amp; Containers</outline_plain><duration unit="d" days="4">4 days</duration><pricelist><price country="IL" currency="ILS">11070.00</price><price country="DE" currency="EUR">2690.00</price><price country="CH" currency="CHF">2690.00</price><price country="AT" currency="EUR">2690.00</price><price country="SE" currency="EUR">2690.00</price><price country="SI" currency="EUR">2690.00</price></pricelist><miles/></course>