Workshop with strategies for your large and long-lasting business applications

Angular training advanced: advanced concepts and architecture
In this advanced training you will learn everything for your large and long-term maintainable Angular-based corporate and industrial applications:
- Structure with monorepos, Nx, and Strategic Design (DDD)
- Microfrontends with Module Federation and Angular Elements
- Reactive architectures with RxJS
- State management patterns with NGRX
- Performance tuning of large applications
- Web Components with Angular Elements
- The latest Angular features and Ivy
- and much more
The exercises gradually result in an application that you can use for your own projects at the end of the workshop.
Optional – Remote Workshops: All of our trainings and consultations can now optionally be booked as remote workshops!
The course of the training at a glance!
Structure for large applications: Monorepos, Nx and Strategic Design
- Plan architectures with Domain Driven Design (DDD)
- CLI workspaces and monorepos with Nx (Nrwl Extensions)
- Develop and distribute reusable npm packages
- Categorize for libraries, modules and components
- Enforce architecture specifications with access restrictions
- Build performance: Incremental builds and tests and caching
- Integration into the CI process
- Customizable libraries with advanced DI patterns and content projection
- The open / closed principle in Angular
Scalable architectures: Micro Frontends with Module Federation and Angular Elements
- From strategic design to micro frontends
- Advantages and disadvantages of Micro Frontends
- Mono Repos vs. multiple repos
- Use Webpack Module Federation to load separately compiled and provided micro frontends
- Dynamic Module Federation
- Sharing dependencies
- Dealing with different versions and version mismatches
- Communication between Micro Frontends
- Cross-framework development with Angular Elements and Web Components
State Management Patterns with NGRX and Redux
- The state layer and your Strategic Design (DDD)
- NGRX: When, When Not and Alternatives?
- Use the Redux approach with NGRX
- Types of states
- Building Blocks: Actions, Reducers
- Selectors and view models
- Effects and side effects
- Generate building blocks with Schematics
- Manage entities with @ ngrx / entities
- Practical handling of Immutables
- Facades as the linchpin
- Introduce NGRX gradually
- NGRX and lazy loading of modules
- Local states with the brand new NGRX / Component store
Performance Tuning
- Lazy Loding with and without a router
- Data binding performance with OnPush
- AOT and Tree Shaking
- Analyzing bundles
- Build Performance with Build Cache and Incremental Compilations
Customization and White Label Solutions
- Customizations at runtime with Lazy Loading and Module Federation
- Customer-specific adaptations at compiletime with Libs and Path-Mappings
- Configuring Libraries with DI and forRoot
Reactive Architectures with RxJS
- Reactive thinking and reactive design
- Chaining / piping of operators
- Combination operators
- Higher-order observables
- Implicitly and explicitly closing Obervables
- Cold and hot observables (multicasting)
- Using subjects
- Error handling
- Debugging
Bonus: Modern Security Architectures and Single Sign-on
- Connect existing identity solutions such as Active Directory
- Social login (login with Facebook, etc.)
- OAuth 2 as well as 2.1 and OpenId Connect
- Tokens in the Browser vs. Security Gateways (Backend for Frontends)
- JSON Web Tokens (JWT)
- Token refresh
- Single sign out
- Current recommendations of the OAuth 2 Working Group and consequences
Bonus: Trends and the Future of Angular
- Web Components
- Lazy loading of components
- Zone-less change detection
- A future without NgModules









