Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
All About Angular‘s New Signal Forms
manfredsteyer
PRO
0
5
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
Your Architecture as a Crime Scene?Forensic Analysis
manfredsteyer
PRO
0
110
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
230
Your Architecture as a Crime Scene:Forensic Analysis
manfredsteyer
PRO
0
92
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
200
Rethinking Angular: The Future with Signal Store and the New Resource API @w-jax 2025, Munich
manfredsteyer
PRO
0
85
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
130
The Missing Link in Angular's Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
170
Other Decks in Programming
See All in Programming
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
270
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
190
Microservices rules: What good looks like
cer
PRO
0
1.5k
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
450
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
8
1.5k
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
850
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
180
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
120
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
Graviton と Nitro と私
maroon1st
0
110
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.9k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Utilizing Notion as your number one productivity tool
mfonobong
2
180
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
500
Reality Check: Gamification 10 Years Later
codingconduct
0
1.9k
Claude Code のすすめ
schroneko
65
200k
So, you think you're a good person
axbom
PRO
0
1.8k
Fireside Chat
paigeccino
41
3.7k
Google's AI Overviews - The New Search
badams
0
860
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
60
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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