Zasady architektury mikrofrontendów
Dlaczego mikrofrontendy, autonomia zespołów, niezależne wdrażanie oraz kompromisy związane z różnorodnością technologii.
Zasady architektury mikrofrontendów to bezpłatna lekcja Vue Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Vue Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Vue Academy zawiera 4 lekcji w sumie.
Czym są mikrofrontendy?
Mikrofrontendy przenoszą idee mikrousług do interfejsu użytkownika: duża aplikacja jest dzielona na niezależnie rozwijane i wdrażane części, za które odpowiadają osobne zespoły, a następnie składana w jedno doświadczenie użytkownika.
Problem monolitu
Pojedynczy duży frontend oznacza, że każdy zespół pracuje w jednym repozytorium kodu, koordynuje wydania i korzysta z jednego procesu budowania. Wraz z rozwojem organizacji staje się to wąskim gardłem — pojawiają się powolne buildy, konflikty podczas scalania i sztywno ustalone cykle wydań.
Zasada: autonomia zespołów
Kluczową ideą jest odpowiedzialność od początku do końca. Zespół odpowiada za swoją część interfejsu — od kodu po wdrożenie — oraz zarządza własnym repozytorium, potokiem i środowiskiem uruchomieniowym, dzięki czemu może działać bez czekania na innych.
Wycinki pionowe, nie warstwy
Zespoły dzielą pracę według możliwości biznesowej (Checkout, Search, Profile), a nie według warstwy technicznej. Każdy wycinek zawiera własny interfejs, logikę i dostęp do danych związanych z daną możliwością.
Zasada: niezależne wdrażanie
Każdy mikrofrontend jest wdrażany według własnego harmonogramu. Zespół Search może wdrażać zmiany dziesięć razy dziennie bez ingerowania w Checkout. Wydania są od siebie niezależne, co zmniejsza ryzyko i potrzebę koordynacji.
Zasada: różnorodność technologii (opcjonalna)
Zespoły mogą wybierać różne frameworki dla poszczególnych wycinków. W praktyce większość organizacji ujednolica technologie (np. wszędzie stosuje Vue) na potrzeby wspólnych narzędzi, ale architektura dopuszcza różnorodność tam, gdzie jest ona uzasadniona.
Podejście integracyjne: na etapie budowania
Jednym ze sposobów łączenia wycinków jest integracja na etapie budowania: każdy mikrofrontend jest publikowany jako pakiet, a aplikacja kontenera instaluje je jako zależności i buduje razem.
// container package.json
{
"dependencies": {
"@org/checkout": "^2.1.0",
"@org/search": "^1.4.0"
}
}Kompromis integracji na etapie budowania
Integracja na etapie budowania jest prosta, ale uzależnia od siebie wydania: aby wdrożyć nową wersję Checkout, aplikację kontenera trzeba ponownie zbudować i wdrożyć. Traci się w ten sposób prawdziwą niezależność wdrażania.
Podejście integracyjne: w czasie działania
Integracja w czasie działania ładuje mikrofrontendy w przeglądarce podczas działania aplikacji — kontener pobiera kod remote'a, gdy jest on potrzebny. Każdy remote jest wdrażany niezależnie, a kontener pobiera najnowszą wersję bez ponownego budowania.
Module Federation
Najważniejszą techniką integracji w czasie działania jest Module Federation: funkcja procesu budowania, która pozwala jednej aplikacji udostępniać moduły, a innej pobierać je przez sieć w czasie działania, ze współdzieleniem wspólnych zależności. Będą Państwo korzystać z niej w kolejnych lekcjach.
Wybór podejścia
Integrację na etapie budowania warto stosować w małych zespołach, które chcą zachować prostotę i korzystać z jednego wdrożenia. Integrację w czasie działania (Module Federation) należy wybrać, gdy priorytetem są niezależne wdrażanie i autonomia zespołów, a dodatkowa złożoność operacyjna jest akceptowalna.
Szybkie sprawdzenie
Proszę sprawdzić swoją wiedzę na temat zasad dotyczących mikrofrontendów.
Podsumowanie
Poznali Państwo zasady dotyczące mikrofrontendów:
- Duży interfejs jest dzielony na niezależnie zarządzane i wdrażane wycinki, które są łączone na potrzeby użytkownika.
- Autonomia zespołu: odpowiedzialność od początku do końca za pionowy wycinek biznesowy.
- Niezależne wdrażanie: każdy wycinek jest wdrażany według własnego harmonogramu.
- Różnorodność technologii jest opcjonalna; większość zespołów ujednolica technologie.
- Integracja odbywa się na etapie budowania (prosta, ale uzależniająca od siebie wydania) albo w czasie działania (Module Federation, prawdziwa niezależność).
Często zadawane pytania
Czy lekcja „Zasady architektury mikrofrontendów” jest bezpłatna?
Tak — pełny tekst „Zasady architektury mikrofrontendów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Vue Academy, przejdź na CoddyKit PRO. Kurs Vue Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zasady architektury mikrofrontendów”?
Dlaczego mikrofrontendy, autonomia zespołów, niezależne wdrażanie oraz kompromisy związane z różnorodnością technologii. Ćwiczysz Vue Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Vue Academy?
Nie wymagamy żadnego doświadczenia. Vue Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Zasady architektury mikrofrontendów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Vue Academy?
Tak. Każda lekcja Vue Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Zasady architektury mikrofrontendów
- Webpack Module Federation z Vue
- Wtyczka Vite Federation
- Współdzielony stan między mikrofrontendami