Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The Microfrontend Revolution Module Federation ...
Search
Manfred Steyer
PRO
September 13, 2020
Programming
0
400
The Microfrontend Revolution Module Federation with Angular @techWebinarNepal
Manfred Steyer
PRO
September 13, 2020
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
72
Beyond the Basics: Signal Forms
manfredsteyer
PRO
0
58
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
All About Angular‘s New Signal Forms
manfredsteyer
PRO
0
28
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
260
Your Architecture as a Crime Scene?Forensic Analysis
manfredsteyer
PRO
0
180
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
270
Your Architecture as a Crime Scene:Forensic Analysis
manfredsteyer
PRO
0
130
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
250
Other Decks in Programming
See All in Programming
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
Oxlint JS plugins
kazupon
1
980
組織で育むオブザーバビリティ
ryota_hnk
0
180
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
高速開発のためのコード整理術
sutetotanuki
1
410
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
並行開発のためのコードレビュー
miyukiw
0
290
CSC307 Lecture 08
javiergs
PRO
0
670
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Designing for humans not robots
tammielis
254
26k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Limits of Empathy - UXLibs8
cassininazir
1
220
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Test your architecture with Archunit
thirion
1
2.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Building an army of robots
kneath
306
46k
Balancing Empowerment & Direction
lara
5
890
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
62
Transcript
@ManfredSteyer ManfredSteyer The Microfrontend Revolution Module Federation with Angular Manfred
Steyer, ANGULARarchitects.io
@ManfredSteyer Do you remember her? Bonnie Barstow, PhD
@ManfredSteyer Software Engineering is a Team Sport
@ManfredSteyer Coordination b/w Teams
@ManfredSteyer Monolith Flight System
@ManfredSteyer Booking Service Check-in Service Boarding Service Luggage Service Microservices
Sub-Domains (DDD)
@ManfredSteyer Booking App Check-in App Boarding App Luggage App Microfrontends
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer Contents #1: Consequences of Microfrontends #2: Module Federation #3:
Dynamic Module Federation #4: Version Mismatch #5: Possible Roadmap
@ManfredSteyer Manfred Steyer
@ManfredSteyer
@ManfredSteyer Booking App Check-in App Boarding App Luggage App Autonomous
Teams
@ManfredSteyer Autonomous Teams Separate Development Separate Deployment Own architecture decisions
Own technology descisions
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer Challenges UI Composition UI Consistency Bundle Size/ Sharing Dependencies
Version Conflicts between Microfrontends …
@ManfredSteyer Module Federation Solves Some of Them! UI Composition UI
Consistency Bundle Size/ Sharing Dependencies Version Conflicts between Microfrontends …
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer Idea const Component = await import('http://other-app/xyz') Does not work
with webpack/ Angular CLI Even lazy parts must be known at compile time!
@ManfredSteyer Webpack 5 Module Federation Shell (Host) Microfrontend (Remote) //
Maps Urls in // webpack config remotes: { mfe1: "mfe1" } // Expose files in // webpack config exposes: { Cmp: './my.cmp.ts' } import('mfe1/Cmp')
@ManfredSteyer How to Get the Microfrontend's URL? Shell (Host) Microfrontend
(Remote) RemoteEntrypoint.js <script src="…"></script>
@ManfredSteyer How to Share Libs? Shell (Host) Microfrontend (Remote) shared:
[ "@angular/core", "…" ] shared: [ "@angular/core", "…" ]
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer Dealing with Version Mismatch SemVer by Default: Highest compatiable
version Fallback: Use own version Relaxing: Configure a range of accepted versions Singleton: Warning or error
@ManfredSteyer Configuring Singletons shared: { "my-lib": { singleton: true, strictVersion:
true // Error instead of warning! } }
@ManfredSteyer Relaxing Version Requirements shared: { "my-lib": { requiredVersion: ">=1.0.1
<11.1.1" } }
@ManfredSteyer
@ManfredSteyer Well … Webpack 5 is currently beta Shown examples:
PoC w/ custom webpack conf + patched CLI lib CLI: Not before version 11 (fall 2020) Squeeze federation config into CLI's webpack config Custom Builder (e. g. ngx-build-plus)
@ManfredSteyer Free eBook ANGULARarchitects.io/book Updated for Module Federation and Alternatives
@ManfredSteyer Conclusion Main Purpose of µFrontends: Scaling Teams Decoupling Federation:
Import From Other App Sharing Libs Take Care of Conflicts
@ManfredSteyer Be like Bonnie and think first! Evaluate whether you
need µFrontends No: Majestic Monolith Yes: Consider Module Federation
@ManfredSteyer d Slides & Examples Remote Company Workshops and Consulting
http://angulararchitects.io