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 Price of Micro Frontends… and Your Alterna...
Search
Manfred Steyer
PRO
March 03, 2025
Programming
0
730
The Price of Micro Frontends … and Your Alternatives @bastacon 2025 in Frankfurt
Manfred Steyer
PRO
March 03, 2025
Tweet
Share
More Decks by Manfred Steyer
See All by Manfred Steyer
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
120
AI Assistants for YourAngular Solutions @Angular Graz, March 2026
manfredsteyer
PRO
0
65
AI Assistants for Your Angular Solutions @ngVienna March 2026
manfredsteyer
PRO
0
45
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
150
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
99
Full Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
75
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
220
Beyond the Basics: Signal Forms
manfredsteyer
PRO
0
130
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
220
Other Decks in Programming
See All in Programming
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
120
へんな働き方
yusukebe
5
2.8k
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
240
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
600
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.4k
20260315 AWSなんもわからん🥲
chiilog
2
170
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.2k
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
630
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
190
モダンOBSプラグイン開発
umireon
0
170
AI 開発合宿を通して得た学び
niftycorp
PRO
0
160
SourceGeneratorのマーカー属性問題について
htkym
0
210
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Mind Mapping
helmedeiros
PRO
1
130
Fireside Chat
paigeccino
42
3.8k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
260
Exploring anti-patterns in Rails
aemeredith
2
290
A Tale of Four Properties
chriscoyier
163
24k
My Coaching Mixtape
mlcsv
0
82
HDC tutorial
michielstock
1
560
Scaling GitHub
holman
464
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
GraphQLとの向き合い方2022年版
quramy
50
14k
Transcript
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer The
Price of Micro Frontends … and Your Alternatives Manfred Steyer, ANGULARarchitects.io
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 2
Good Fences Make Good Neighbors!
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 3
Verticals for Autonomous Teams Minimal Dependencies Vertical 1 Vertical 2 Vertical 3 Feature Feature Feature Feature Feature Feature Feature Feature Feature
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 4
Verticals A Vertical represents a business domain (ideally!) Verticals as Micro Frontends: Maximizes Independence
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 5
Benefits Team Autonomy Easier Onboarding Shorter Release Cycles Different Technology Stacks
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 6
Challenges Diverging (UI/UX, …) Initial Loading Times Coupling Complexity & Conflicts
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer How
to deal with these challenges and what does it “cost“?
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 8
1) Strategies for Dealing with Challenges 2) Costs of Strategies 3) Alternatives Agenda
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 9
About me … Manfred Steyer, ANGULARarchitects.io (Remote) Angular Workshops and Consulting Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 10
Strategies for Dealing With Challanges
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 11
Strategies for Addressing Challenges Diverging (UI/UX, …) Initial Loading Times Coupling Complexity & Conflicts Design System Federation & Sharing Libs DDD SSR Starter Kits and Libs Conventions Inner Sourcing Web Components Eventing
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 12
Strategies for Addressing Challenges Diverging (UI/UX, …) Initial Loading Times Coupling Complexity & Conflicts Design System Federation & Sharing Libs DDD SSR Starter Kits and Libs Conventions Inner Sourcing Separate Ways Eventing
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 13
Domain-Driven Design
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 14
Domain-Driven Design Strategic Design Tactical Design Decomposing a System Design Patterns & Practices
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 15 This
is what Strategic Design Prevents
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 16
Example Flight System
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 17
Example Booking Check-in Boarding Luggage Sub-Domains
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 18
Finding Sub-Domains Book Flight Check-in Passenger Check-in Luggage Board Plane Pickup Luggage Passenger Travel Agency Check-in Agent Boarding Agent
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 19 Event
Storming
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 21
Module Federation
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 22
Idea const Component = import('other-app/xyz')
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 23
Module Federation Shell (Host) Micro Frontend (Remote) // Maps Urls in // webpack config remotes: { mfe1: "http://..." } import('mfe1/Cmp') // Expose files in // webpack config exposes: { './Cmp': './my.cmp.ts' }
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 24
Providing Metadata Shell (Host) Micro Frontend (Remote) RemoteEntrypoint.js import('…'); <script src="…"></script>
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 25
Sharing Libs Shell (Host) Micro Frontend (Remote) shared: [ "@angular/core", "…" ] shared: [ "@angular/core", "…" ]
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 2
6 Alternatives Getting Popular TURBOPACK
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 27
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 28
Your Bundler Native Federation Adapter
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 29
Characteristics Mindset: Module Federation EcmaScript Modules Import Maps Simple config, sharing libs
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 30 1)
npm i @angular-architects/native-federation -D 2) nx g @angular-architects/native-federation:init 3) Adjust generated configuration 4) nx serve Native Federation
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 31
DEMO
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer Costs
of Micro Frontends
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 33
Micro Frontend Platform Team Stream-aligned team 1 Stream-aligned team 2 Stream-aligned team … XaaS Flow of change
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 34
Evaluating Options Facilitating Decisions Communicating Decisions
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 35
Alternative: Frontend Modulith
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 36
Verticals in One Monolith Minimal Dependencies Vertical 1 Vertical 2 Vertical 3 Feature Feature Feature Feature Feature Feature Feature Feature Feature
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 37
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 38
Nx Libs: Modularization Incremental CI/CD Build Cache Parallelization in Builds
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 39
DEMO
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 40
6th edition 20 chapters http://angularArchitects.io/ebook Free eBook
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 41
Conclusion It‘s all about verticals! Strategic Design (DDD) Platform Team Alternative: Modulith You need to evaluate!
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten @ManfredSteyer 42
Good Fences Make Good Neighbors!
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 43 [Social
Media] Manfred Steyer [web] ANGULARarchitects.io Manfred Steyer @ Manfred Steyer Slides & Examples Remote Company Workshops and Consulting http://angulararchitects.io