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
Premier Disciplin for Micro Frontends Multi Ver...
Search
Manfred Steyer
PRO
May 07, 2025
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios
Manfred Steyer
PRO
May 07, 2025
More Decks by Manfred Steyer
See All by Manfred Steyer
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
230
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
200
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
240
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
170
Agentic UI
manfredsteyer
PRO
0
240
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
300
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
250
Agentic AI in the Frontend: Architectures with Open Standards @iJS London 2026
manfredsteyer
PRO
0
180
Other Decks in Programming
See All in Programming
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
160
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
370
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
0
250
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
霧の中の代数的エフェクト
funnyycat
1
430
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
140
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
200
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.4k
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
200
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
120
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
350
[RVD26] Vibe Architecture en 2040 : Darwin a-t-il (enfin) eu raison des architectes ?
alexandretouret
0
100
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Unsuck your backbone
ammeep
672
58k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
250
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Docker and Python
trallard
47
4k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Optimizing for Happiness
mojombo
378
71k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
390
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Facilitating Awesome Meetings
lara
57
7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Transcript
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten Premier Disciplin
for Micro Frontends Multi Version/ Framework Scenarios ANGULARarchitects.io
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 2 Micro
Frontends Booking App Check-in App Boarding App Luggage App
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 3 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 4 Module
und Native Federation TURBOPACK Native Federation Module Federation Module Federation
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 5 Sharing
Libs Shell (Host) Micro Frontend (Remote) shared: [ "@angular/core", "…" ] shared: [ "@angular/core", "…" ]
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 6 Booking
App Check-in App Boarding App Luggage App 19 18
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 7 Booking
App Check-in App Boarding App Luggage App 19.0 19.1
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 19.0 19.1
{ f(); } Your Code Angular Compiler Compiled Code Private API
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten How to
Implement Multi-Version/ - Framework Solutions?
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 10 •
Hiding Frameworks and Versions • Web Components and Federation • Alternatives • Costs Contents
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 11 About
me (Remote) Angular Workshops and Consulting Google Developer Expert for Angular Blog, Books, Articles, and Talks about Angular Manfred Steyer, ANGULARarchitects.io
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 12 Hiding
Frameworks and Versions
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 13 Wrap
them into Web Components Abstract Differences Angular App (MFE) React App (MFE) Coarse-grained Web Component
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 14 Web
Components with Angular npm install @angular/elements
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 15 Web
Components with Angular // bootstrap.ts const app = await createApplication({ providers: [], });
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 16 Web
Components with Angular // bootstrap.ts const app = await createApplication({ providers: [], }); const webCmp = createCustomElement(AppComponent, { injector: app.injector, });
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 17 Web
Components with Angular // bootstrap.ts const app = await createApplication({ providers: [], }); const webCmp = createCustomElement(AppComponent, { injector: app.injector, }); customElements.define('mfe2-root', webCmp);
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 18 Web
Components with Angular // bootstrap.ts const app = await createApplication({ providers: [], }); const webCmp = createCustomElement(AppComponent, { injector: app.injector, }); customElements.define('mfe2-root', webCmp); // Usage: <mfe2-root></mfe2-root>
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 19 Exposing
Web Components // federation.config.js module.exports = withNativeFederation({ […] exposes: { './web-comp': './projects/mfe2/src/bootstrap.ts', }, […] });
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 20 Loading
Web Components via Federation
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 21 Federation
await import('other-app/web-cmp');
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 22 Federation
await import('other-app/web-cmp'); const rootElm = document.createElement('web-cmp') document.body.appendChild(rootElm);
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 23 Federation
await import('other-app/web-cmp'); const rootElm = document.createElement('web-cmp') document.body.appendChild(rootElm); WrapperComponent
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 24 Result:
Best of Both Worlds
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 25 DEMO
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 26 •
Zone.js & Fine-grained Integration Share instance via global namespace • Before Standalone Reuse Platform instance (global namespace) • Meta Routing Advanced Routing Configuration, Custom Events Challanges
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 27 •
Zone.js & Fine-grained Integration Share instance via global namespace • Before Standalone Reuse Platform instance (global namespace) • Meta Routing Advanced Routing Configuration, Custom Events Challanges
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten Alternatives
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 29 Alternatives
Modular Monolith Monorepo + Micro Frontends Governance: Single Version Hyperlinks iframes Only Web Components
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten Costs of
Micro Frontends
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 31 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 32 Free
eBook (6th Edition) ANGULARarchitects.io/book Module Federation & Nx
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 33 Conclusion
Abstraction: Web Components Loading/ Sharing: Native Federation Small Workarounds & Meta Routing
• Textmasterformat bearbeiten • Zweite Ebene Mastertextformat bearbeiten 34 [Social
Media] Manfred Steyer [web] ANGULARarchitects.io Manfred Steyer @ Manfred Steyer Slides & Examples Remote Company Workshops and Consulting http://angulararchitects.io