Mentionsy Mentionsy
Subiektywny Frontend
Subiektywny Frontend

Microfrontendy w module federation to kłamstwo!

06.11.2025 ·21 min 13 s

Odcinek opublikowany 07.03.2025Aleksander Lubych i Jakub Pawlak zapraszają na kolejną dawkę brutalnej prawdy o mikrofrontendach! Czy Module Federation to naprawdę złoty środek na mikrofrontendy? A może to po prostu kolejny sposób na stworzenie… rozproszonego monolitu? W tym odcinku obalamy największe mity na temat Module Federation i sprawdzamy, czy rzeczywiście daje nam prawdziwą niezależność zespołów i technologii. 🔥 O czym pogadamy? ✅ Jaką wizję mikrofrontendów miał Manfred Steyer w 2018 i jak to wygląda dzisiaj? ✅ Module Federation – czy to faktycznie mikrofrontendy? ✅ Problem wersjonowania frameworków i twardego couplingu ✅ Multi-repo kontra monorepo – dlaczego niezależność bywa iluzją? ✅ Jak uniknąć pułapek rozproszonego monolitu? W teorii miało być pięknie: niezależne zespoły, niezależne technologie, niezależne wdrażanie. W praktyce? No cóż… Jeśli pracujesz z mikrofrontendami (albo dopiero się do tego przymierzasz), ten odcinek może oszczędzić Ci wielu frustracji! 🚀 Gwiazda programu: https://module-federation.io/💬 Masz swoje doświadczenia z Module Federation? Jakie mieliście z tym problemy? Podziel się w komentarzu! 👍 Zostaw suba, jeśli chcesz więcej technicznych deep dive’ów! #MicroFrontends #ModuleFederation #Angular #Frontend #RozproszonyMonolit #Programowanie #SubiektywnyFrontend #IT #Monorepo #MultiRepo

W dzisiejszym odcinku powiemy wam dlaczego mikrofrontendy w module federation to kłamstwo. Ja nazywam się Jakub Pawlak. Ja jestem Aleksander Lubych. A to Subiektywny Frontend. Chciałbym zacząć od tego, że ja w 2018 roku trafiłem na NG Poland i tam była prezentacja Manfreda Steyera. Prezentacja o mikrofrontendach. I to zmieniło zupełnie moją karierę. Na początku, jakby na tej prezentacji, była mowa o webkomponentach i faktycznie wtedy to mi się bardzo przydało do mojej pracy i zacząłem robić webkomponenty. Ale już rok później pojawił się nowy gracz.

Bo jeżeli Ty wejdziesz w module federation i będziesz przez jakiś czas z tym pracować i budować nad tym platformę lub system, a potem się okaże, że jednak to nie jest to, co Ci Czego potrzebujesz? No to wyjście z tego będzie bolesne. No właśnie, bo zacznijmy też od tego... Dobra, zacznijmy. To dużo powiedziane, bo już trochę o tym mówimy, ale... Trzy razy zaczynamy, Jakub. Dobrze nam idzie. Ale module federation w ogóle to jest taki system, biblioteka, która służy do share'owania po prostu i lazy loadowania. Paczek javascriptowych. Koniec końców to po prostu polega na tym, że możemy asynchronicznie załadować sobie części aplikacji i w ten sposób możemy załadować części aplikacji, które stanowią te nasze mikrofrontendy.

Z samą technologią jest wszystko ok, ona spełnia swoje założenia. To jest potęga. To jest potęga, to jest super fajne. Ale niesie to za sobą też pewne ograniczenia, czy narzuca pewne rozwiązania. Jakub, błagam, powiedz o co chodzi, bo już tak ciągniemy ten temat. Monorepo. No właśnie, bo jakby module federation, to ja bym powiedział, że to trochę jest synonim do monorepo. Jeśli chcemy, to może nie. No tak, a to wynika z czego? Ano z tego, że chociażby musimy mieć jedną wersję frameworka, bo inaczej nam się kiełbasi strasznie aplikacja. No właśnie, bo weźmy sobie Angulara. Ale jeszcze muszę dodać taką jedną rzecz, bo tutaj byłbym od razu zhejtowany, że jestem nieprecyzyjny, bo my mówimy też o module federation w takim wydaniu, jak Enix proponuje, że po prostu robimy lazy loading komponentów.

I to, jak definiujesz i to, że musisz mieć routing na przykład tych Microfrontendach i ten routing jakoś porzenić, bo tak teraz zacząłem sobie myśleć o tych web-komponentach i tym POC, które robiliśmy u nas i po prostu się zawiesiłem, Jakub. No bo to jest właśnie skomplikowany temat, bo module federation samo w sobie jest do ładowania i lazy-loadowania i share'owania paczek. Ale możemy to użyć też w różnych kontekstach. A musi być coś, co to orkiestruje i coś, co tym zarządza i tym routingiem zarządza, więc tam są jeszcze inne aspekty tego systemu mikrofrontendowego. Ale wracając do clou. Monorepo, coupling na poziomie wersji frameworka. Wyobraźmy sobie, że jesteśmy w Angularze. No w React'cie jest dokładnie tak samo.

Czyli, że jak wywali się jakiś jeden Microfrontend, czy zablokuje całą resztę? Powiem ci, że jest taka szansa. Jest. Jest taka szansa. To jest w ogóle... No nie no, to nie są mikrofrontendy. Nie tędy droga, nie w tym wypadku. Czy zespoły się mogą skalować? Czy możemy urównoleglić pracę? No w zasadzie tak. W zależności od tego, jak to będzie zorganizowane, nie? No właśnie. To o tym przyrozumieliśmy wcześniej. Czyli mamy 5 punktów na 10. Czyli trochę są mikrofrontendy, trochę nie są. Dopiero zaczynasz przygodę z mikrofrontendami, Jakub. No, dokładnie. Jakieś słowo podsumowanie, czy coś masz do siebie do dodania?

No i na przykład ktoś wykona robotę za was, na przykład taki platformowy team, który zrobi update całego frameworka na całe monorepo. No i dobre! To, co chciałem zaznaczyć, to jest to, że module federation jako taki byt, który rozwiązuje wszystkie problemy, które niby oferują mikrofrontendy, no to trzeba z tym uważać i po prostu pamiętać o tym, co jest najważniejsze w tym setupie mikrofrontendowym i tego, czego odczujemy. W setupie waszym mikrofrontendowym. Oj, to jest super ważna rzecz, bo nasz setup nie jest waszym setupem. Jakub, właśnie to jest bardzo ciekawe, że co ja przechodzę z organizacji do organizacji, z firmy na firmę, każdy te microfrontendy robi po swojemu i każdy robi to pod siebie.

Już to polecałem, ale idzie... Ale idzie teraz wiosna, już dzień się robi dłuższy, jest już cieplutko powoli. Jakub, no mamy teraz już 430 subskrybentów. No właśnie, jakbyśmy zrobili teraz taką imprezę integracyjną z Ogniskiem, no to kurczę, ale by było fajne. No więc ja polecam się po prostu zorganizować, może niekoniecznie integracyjna, a może po prostu ze znajomymi, więc taką prywatną polecajkę Painted Paintball w wiskitkach. No i głupio się przyznać, jeszcze tam nie byłem. Jak to jest możliwe, my się tam organizujemy, organizujemy i się nic nie da zorganizować. Więc będę po prostu w tym sezonie przypominał. No to przypominaj w pracy też. Dobra.

Pokazano wszystkie 7 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.