Introduction
- Structure of This Book
- Trainings and Consultancy
- Help to Improve this Book!
- Thanks
Strategic Domain-Driven Design
- What is Domain-Driven Design?
- Finding Domains with Strategic Design
- Domains are Modelled Separately
- Context-Mapping
- Sub Domains vs. Bounded Contexts
- Team Topologies and Strategic Design
- Conclusion
Architectures with Sheriff and Standalone Components
- The Architecture Matrix
- Project Structure for the Architecture Matrix
- Enforcing your Architecture with Sheriff
- Lightweight Path Mappings
- Conclusion
Build Performance with Nx
- Incremental Builds – Getting Started
- More comfortable and more powerful: Nx
- Incremental Builds with Nx
- Side Note: Micro Frontends
- Distributed Cache with Nx Cloud
- Even Faster: Parallelization with Nx Cloud
- Conclusion
Nx & Sheriff - Friends for Life
- Module Boundaries in Nx
- Recap: Different Types of Boundaries
- Options with Sheriff
- Conclusion
From Domains to Micro Frontends
- Deployment Monoliths
- Micro Frontends
- UI Composition with Hyperlinks
- UI Composition with a Shell
- The Hero: Module Federation
- Finding a Solution
- Consequences of Micro Frontends
- Conclusion
The Micro Frontend Revolution: Using Module Federation with Angular
- Example
- Activating Module Federation for Angular Projects
- The Shell (aka Host)
- The Micro Frontend (aka Remote)
- Trying it out
- A Further Detail
- More Details: Sharing Dependencies
- Conclusion and Evaluation
Dynamic Module Federation
- A Simple Dynamic Solution
- Going “Dynamic Dynamic”
- Some More Details
- Conclusion
Plugin Systems with Module Federation: Building An Extensible Workflow Designer
- Building the Plugins
- Loading the Plugins into the Workflow Designer
- Providing Metadata on the Plugins
- Dynamically Creating the Plugin Component
- Wiring Up Everything
- Conclusion
Using Module Federation with Nx Monorepos and Angular
- Multiple Repos vs. Monorepos
- Multiple Repositories: Micro Frontends by the Book
- Micro Frontends with Monorepos
- Monorepo Example
- The Shared Lib
- The Module Federation Configuration
- Trying it out
- Isolating Micro Frontends
- Incremental Builds
- Deploying
- Conclusion
Dealing with Version Mismatches in Module Federation
- Example Used Here
- Semantic Versioning by Default
- Fallback Modules for Incompatible Versions
- Differences With Dynamic Module Federation
- Singletons
- Accepting a Version Range
- Conclusion
Multi-Framework and -Version Micro Frontends with Module Federation
- Pattern or Anti-Pattern?
- Micro Frontends as Web Components?
- Do we also need Module Federation?
- Implementation in 4 steps