Advanced Angular Development

Im Seminar "Advanced Angular Development" bringen wir Ihre Angular Kenntnisse auf den Experten Level und besprechen folgende Themen in der Tiefe:

Themen

  • Building an Reusable Angular Material Theme
  • Advanced Observables & Reactive Programming
  • State Management using NgRx
  • Reactive Forms in Depth
  • Securing Angular using OpenID Connect & NgRx
  • Advanced Testing - Jest & Cypress
  • Reusability using Angular Libraries & NX
  • Scaffolding & Automation using Angular Schematics
  • Implementing Web Components using Angular Elements
  • Optimizing & Building Applications using Ivy & Bazel
  • Progressive Web Apps
  • Server Side Rendering using Angular Universal
  • Advanced Angular Publishing & Hosting (Docker & Kubernetes)

Zielgruppe

Angular Entwickler welche ihre Kenntnisse vertiefen wollen.

Voraussetzungen

Kenntnisse in folgenden Angular Themen werden vorausgesetzt:

  • Environment & Tools Setup and Introduction
  • TypeScript Fundamentals
  • Angular Projektkonfiguration & CLI
  • Understanding Fundamentals & Completing Basic Tasks
  • Routing & Modularity
  • Basics of Building a Responsive User Interface using Material
  • Form Design & Validation
  • Data Access
  • Observables Basic Understanding
  • Basic Unit Testing

Diese werden im Seminar "Angular Single Page Application Development" vermittelt.

Kenntnisse im Umgang mit Git

Dauer

5 Tage


Module

Building an Reusable Angular Material Theme

  • Material Theming Overview
  • Building a Reusable Material Theme
  • Define Primary, Accent and Warning Colors
  • Define Alternative Themes, Light & Dark Themes
  • Use Fore- and Backcolor
  • Use Theme Mixins
  • Theming Custom Components

Advanced Observables & Reactive Programming

  • Java Script Language: Functional Programming, Immutability, Destructuring
  • Recap: Observables, Operators & Subjects
  • Base Operators: Mapping, Filtering, Merging, Scanning, ...
  • Understanding & Implementing Marble Diagrams
  • Debugging & Visualizing Observables
  • Using Declarative Approach - Async Pipe
  • Error Handling Pattern
  • Data- vs Action-Streams
  • Higher Order Mapping Operators
  • Data Composition - Joining Observable Streams
  • Data Caching & Invalidation
  • Implementing Custom Operators

Advanced State Management using NgRx

  • Overview State Management Patterns
  • Observable Data Services & Event Bus
  • Introduction to the Redux Pattern
  • Understanding NgRx and know when to use it
  • Using Store, Actions and Reducers
  • Debugging NgRx using Redux Dev Tools
  • Implementin & Using Selectors
  • Using Effects
  • Scaffolding using NgRx Schematics
  • NgRx Entity

Reactive Forms in Depth

  • Recap Reactive Forms Revisited
  • From Event Handling to Reactive Forms
  • Using NgRx in Reactive Forms
  • Forms Array
  • Dynamic Form Generation

Routing & Securing Angular using NgRx

  • Introduction to @ngrx/router-store
  • Router State & Custom Serialization
  • Recap Jwt, OAuth 2.0 & OpenID Connect
  • Cloud based Logins: Azure AD
  • Using Social Logins: Google, Facebook ...
  • Authentication in Angular with NgRx
  • Route Guards & Interceptors with NgRx

Advanced Testing - Jest & Cypress

  • Recap: Unit Testing
  • Using Testbed & Spies
  • Shallow / Deep Integration Tests
  • Async Testing
  • Testing NgRx: Mock Store, Mock Selectors, ...
  • Using Jest for Unit Testing
  • End-2-End Testing using Cypress

Reusability using Angular Libraries

  • Angular Building Blocks: Workspace, Apps, Libraries
  • Sharing Code between Projects using Angular Libraries
  • Implementing, Using & Publishing Libraries
  • Monorepos Overview
  • Introduction to nrwl NX

Scaffolding & Automation using Angular Schematics

  • What is Angular Schematics
  • Using build-in Schematics
  • Understanding Abstract Syntax Tree (AST)
  • Adding & Modifying Files
  • Using a Sandbox

Implementing Web Components using Angular Elements

  • Monolithic Applications vs Micro Frontends
  • Creating reusable Web Components using Angular Elements
  • Addressing Browser Compatibility Issues

Progressive Web Apps (PWA)

  • What are Progressive Web Apps
  • Understanding and Configuring Service Workers & Manifests
  • Automatic Installation Screens
  • Implementing Push Notifications
  • Updating PWA's

Building & Optimizing Applications

  • Analyzing and Optimizing Bundles & Modules
  • Optimizing Change Detection
  • Using Chrome Dev Tools for Performance Optimization
  • Web Workers
  • Understanding Ivy and what it means for Performance Optimization
  • Introduction to the Bazel Build System

Server Side Rendering (SSR) using Angular Universal

  • Why Server Side Rendering
  • Angular Universal Architecture
  • Node Express Introduction
  • Konfigure SSR

Advanced Hosting & Angular CI / CD

  • Deployment Overview & Hosting Options
  • Blob Storages & URL Rewriting
  • Preparations for Angular Production Build
  • Docker & Kubernetes Introduction
  • Building an Angular Multi-Stage Docker Image
  • Implementing a 3-Tier Application (UI / API) using Docker-Compose
  • Continuous Integration / Continous Deployment (CI/CD)