Ein Micro-Frontend ist ein Teil einer Weboberfläche, den ein eigenes Team unabhängig baut, prüft und ausliefert und der zur Laufzeit mit anderen Teilen zu einer Anwendung zusammenwächst. Der Gedanke ist der der Microservices (K4), auf die Oberfläche übertragen. Er löst ein Problem großer Organisationen, und er kostet jedes Team, das dieses Problem nicht hat. Die Lektion ordnet ein, probiert eine Federation lokal aus und endet mit einer Entscheidung für die Kladde. Vorausgesetzt werden W10.1 und W10.2 (Bibliotheken, Grenzen, Schnitte nach Fachlichkeit) und K4 4.1.3 (ADR).

Stand der Prüfung. Ausgeführt (Node 24.22.3, Angular 22.2, @angular-architects/native-federation 22.2.5, Wegwerf-Projekt außerhalb des Repositorys, Angular-CLI-Workspace, kein Nx): Anwendung remote anlegen, beide init-Schematics, ng build remote und ng build kladde-angular (je Exit 0), beide Dev-Server gestartet und die Seite /termine des Hosts in einem Browser geöffnet; ihr Inhalt und die Anfragen der Seite stehen unten. Danach beendeten wir die Server. Gelesen: die Seiten native-federation.com (Startseite, „Getting Started“, „Angular Adapter: Getting Started“) und der Beitrag „Native Federation Just Got Better“ von angulararchitects.io, jeweils im Text. Nicht gelesen: die Seiten „Schematics“, „Runtime“ und „Native and Module Federation“ der Dokumentation, die README bei npm (403) und bei GitHub (404), die Beitragsreihe „Micro Frontends with Modern Angular“ (nur verlinkt), ein Beitrag zur Frage „braucht man das überhaupt“ (wir fanden keinen). Nicht ausgeführt: Module Federation mit Webpack oder Rspack, Native Federation in einem Nx-Workspace, Hosts und Remotes mit verschiedenen Angular-Fassungen, Produktionsbetrieb, Tests über die Naht, Web Components.

Was Micro-Frontends lösen

Der Gewinn ist organisatorisch: Team A liefert seinen Teil, ohne dass Team B mitbauen, mitprüfen und mitfreigeben muss. Das lohnt, wenn mehrere Teams mit eigenem Takt an derselben Oberfläche arbeiten und die Kosten der Abstimmung höher sind als die Kosten der Trennung. Ein einzelnes Team gewinnt daraus nichts: Es hat die Abstimmung ohnehin mit sich selbst.