Micro Frontends
Einleitung
Micro Frontends übertragen die Idee fachlich geschnittener Systeme auf die UI-Ebene.
Ein Frontend wird in fachlich abgegrenzte Teil-Frontends zerlegt, die von separaten Teams entwickelt, betrieben und idealerweise unabhängig deployt werden.
Ziel ist nicht technische Fragmentierung, sondern:
organisatorische Skalierung bei kontrollierter UI-Komplexität.
Einordnung
Micro Frontends sind ein Frontend-Systemstil.
Sie betreffen:
- Struktur der UI-Landschaft
- Team-Ownership
- Release-Organisation
- Integrationsstrategie im Browser
Sie sind kein reines UI-Pattern und keine Build-Technik.
Zentrale Ziele
- Team-Autonomie im Frontend
- Parallele Entwicklung ohne Merge-Hölle
- Unabhängige Release-Zyklen
- Fachlich saubere Schnitte
Strukturvarianten
1️⃣ Build-Time-Komposition
- Gemeinsamer Build
- Modul-Federation / Monorepo
- Klare Modulgrenzen
Vorteil: weniger Runtime-Komplexität
Nachteil: Releases oft gekoppelt
2️⃣ Runtime-Komposition
- Dynamisches Laden per Remote
- Shell orchestriert Integration
- Unabhängige Deployments möglich
Vorteil: echte Release-Autonomie
Nachteil: höhere Integrationskomplexität
3️⃣ Navigation-basierte Integration
- Separate Apps
- Integration über URL-Navigation
- Kein gemeinsamer Runtime-State
Vorteil: sehr geringe Kopplung
Nachteil: eingeschränkte UX-Integration
Charakteristika
Struktur
- Shell / Host App als Integrator
- Fachlich geschnittene Frontend-Slices
- Klare Ownership pro Slice
Kopplung
- Contracts für Navigation
- Gemeinsame Auth-Strategie
- Design-System als Stabilitätsanker
- Minimierter globaler State
Deployment
- Optional unabhängige Deployments
- Versionierung von Remote-Interfaces
- Canary-Strategien möglich
Daten
- Backend-Integration meist über BFF oder API-Gateway
- Kein impliziter Cross-MFE-State
- Events oder explizite Schnittstellen für Interaktion
Vorteile
- Skalierbare Teamstruktur
- Reduzierte Merge-Konflikte
- Klare Domänen-Ownership
- Schrittweise Modernisierung möglich
Risiken / typische Fallstricke
1️⃣ Verteilte UI ohne Domänenschnitt
Wenn Schnitte technisch statt fachlich erfolgen:
→ Distributed Monolith im Browser.
2️⃣ Technologie-Wildwuchs
„Jedes Team wählt sein Framework“ klingt attraktiv, führt aber zu:
- Bundle-Explosion
- Wartungskosten
- UX-Inkonsistenz
Technologie-Freiheit ist ein politisches, kein architektonisches Ziel.
3️⃣ Performance-Risiken
- Mehrere Framework-Instanzen
- Doppelte Dependencies
- Mehrere Initialisierungen
Performance-Budget ist Pflicht.
4️⃣ Fehlendes Design-System
Ohne:
- Shared Components
- Style-Guidelines
- UX-Governance
zerfällt die Oberfläche visuell.
5️⃣ Globaler State
Geteilte globale Stores führen zu:
- starker Kopplung
- schwer nachvollziehbaren Seiteneffekten
Micro Frontends + Global Store = Architekturkonflikt.
Wann sinnvoll?
- Mehrere Teams arbeiten parallel am Frontend
- Große, langlebige Plattform
- Fachliche Domänen klar abgrenzbar
- Release-Zyklen entkoppelt
Wann nicht sinnvoll?
- Kleines Team
- MVP
- Kurzlebiges Produkt
- Kein stabiles Design-System
Praxis-Check
Szenario 1: Große Plattform
Checkout, Search, Account, Content sind fachlich getrennt und team-owned.
Micro Frontends erhöhen hier Organisations-Skalierbarkeit.
Szenario 2: Startup
3 Entwickler, 1 Produkt.
Micro Frontends erzeugen Overhead ohne Mehrwert.
C4-Diagramm
Strategische Perspektive
Micro Frontends sind kein Performance-Pattern. Sie sind kein UX-Pattern. Sie sind kein Framework-Feature.
Sie sind ein Organisations- und Ownership-Modell für Frontends.
Wenn Organisation nicht skaliert werden muss, skaliert man nur Komplexität.
Fazit
Micro Frontends lohnen sich, wenn:
- Teams skalieren müssen
- Domänen stabil geschnitten sind
- Governance existiert
Ohne diese Voraussetzungen entsteht:
Frontend-Fragmentierung statt Autonomie.