Advanced Angular Development (NGADV) – Details

Detaillierter Kursinhalt

Standalone Components: Concepts & 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 & Forms Deep Dive
  • Using & Migrating to Control Flow Syntax
  • Deferred Loading & Selective Activation using @deferred
  • Standalone Directives & 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 & Custom Validators
  • Handling FormErrors & ErrorStateMatcher
Mastering Reactive Programming using RxJS
  • Introduction to RxJS
  • Observables, Observers & Use Cases
  • Unsubscribing DestroyRef & takeUntilDestroyed
  • Imperative vs Declarative Reactivity
  • Data- vs Action-Streams
  • Mouse & DOM Events as Observables
  • Subject Types & Stateful Services
  • Base Operators: Mapping, Filtering, Merging,
  • Understanding Marble Diagrams & Debugging Observables
  • Combination & Transformation Operators
  • Retry & Error Handling Strategies
  • Implementing & Testing Custom Observable Operators
Mastering Reactivity using Signals
  • Introduction to Signals (WritableSignal, Computed, Effects)
  • Signals vs Observables
  • Signals & Observables Interoperability
  • Deep Signals & Linked Signals
  • Data Retrieval using resource() and rxResource()
  • Nesting Components using Signals, input, output & 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 & NgRx SignalStore
  • Overview State Management Patterns
  • NgRx Classic vs Signal Store
  • Introduction to the Classic NgRx & Redux Pattern
  • Implementing NgRx Store, Reducers & Selectors using createFeature
  • Actions & createActionGroup
  • Effects, Facades, @ngrx/entity & @ngrx/data
  • Creating a Signals Store using @ngrx/signals
  • NgRx and Signals Interoperability
  • Side Effects using rxMethod
  • Signals Store, Entity & 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 & Interceptors
  • Global Error Handling & Http-Error Interceptor with Retry-Patterns
  • Using Preloading Strategies & Functional Resolvers
  • Functional Route Guards
  • Route Redirect Functions
  • Binding Router-Params to Component Inputs & routerOutletData
  • View Transition Api
  • Auxiliary Routes: Common use cases
  • Router Animations & Anchor Scrolling
Advanced Testing with Jasmine, Jest, Cypress and NgRx
  • Introduction Angular Testing Tools (Jasmine, Karma, Jest & Cypress)
  • Testing Classes, Pipes, Directives
  • Testing Services using HttpClientTestingModule & HttpTestingController
  • Testing Component Interaction (Read, Write, Emit, Inputs)
  • Complex Forms Testing & Deferrable Views
  • Testing Observables & 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 & 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 & 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 & 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 & Manifests
  • Installing & 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 & Incremental Hydration
Optimizing Applications
  • Using Chrome Dev Tools & Lighthouse for Performance Optimization
  • Understanding & Using Page Traces & Web Vitals
  • Analyzing and Optimizing Bundles & Components
  • Build Optimizations using Angular CLI
  • Optimizing Images using NgOptimizedImage
  • Data-Loading Strategies, Virtual- & Infinite Scrolling,
  • Understanding, Profiling & Optimizing Angular Change Detection
  • Zoneless Change Detection
  • Using @angular/localize
  • Accessibility A11y: Best Practices & Linting
  • Using Linting and Autoformat with Prettier
  • Configuration Management & Containers