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
280
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
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
150
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
Agentic UI
manfredsteyer
PRO
0
170
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
260
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
220
Agentic AI in the Frontend: Architectures with Open Standards @iJS London 2026
manfredsteyer
PRO
0
150
Agentic AI & UI: Arcitecture, HITL, Emerging Standards
manfredsteyer
PRO
0
180
Agentic UI Requires Standards: AG-UI, A2UI, and MCP Apps Work Together @Angular London
manfredsteyer
PRO
1
110
Signal Forms: Beyond the Basics @ngBelgrade 2026
manfredsteyer
PRO
0
220
Other Decks in Programming
See All in Programming
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.1k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
AI時代のUIはどこへ行く?その2!
yusukebe
21
7.3k
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
6
1.3k
JavaDoc 再入門
nagise
1
370
C# and C++ Interoperability - cho-dotnetnew
harukasao
0
180
RTSPクライアントを自作してみた話
simotin13
0
610
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
6.6k
Oxlintのカスタムルールの現況
syumai
6
1.1k
Contextとはなにか
chiroruxx
1
330
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.8k
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
320
Large-scale JavaScript Application Architecture
addyosmani
515
110k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
430
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
430
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
170
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Optimizing for Happiness
mojombo
378
71k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
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