Mikro-frontendy w portalach administracyjnych: praktyczny przewodnik decyzyjny
Mikro-frontendy w portalach administracyjnych mogą przyspieszyć dostarczanie w odpowiedniej organizacji, ale wnoszą narzut. Skorzystaj z tego przewodnika, aby zdecydować na podstawie zespołów, designu i procesów wdrożeniowych.

Jaki problem próbują rozwiązać mikro-frontendy w portalach administracyjnych
Portal administracyjny rzadko jest tylko interfejsem. Rozrasta się do ekranów z dużą ilością danych (tabele, filtry, eksporty), operacyjnych workflowów (zatwierdzenia, zwroty, onboarding) i ścisłych uprawnień (role, logi audytu, kto może co robić). To także miejsce, gdzie każdy wewnętrzny zespół prosi o kolejny przycisk, kolumnę albo regułę.
Dlatego UI administracyjne zmieniają się tak często. Support potrzebuje szybszego obsługiwania ticketów, dział finansów chce nowych raportów, opsy chcą wyjątkowych flowów, a kierownictwo chce więcej widoczności. Nawet jeśli każdy request jest mały, portal zamienia się w zatłoczone skrzyżowanie interesariuszy, terminów i priorytetów.
Mikro-frontendy to jedna odpowiedź na tę presję. Mówiąc prosto, dzielą duży frontend na mniejsze części, które można budować i wydawać bardziej niezależnie. Zamiast jednego repozytorium, gdzie każda zmiana przechodzi przez ten sam build i release, możesz mieć oddzielne obszary jak Users, Billing, Inventory czy Reports, każdy nadzorowany przez inny zespół.
Prawdziwa decyzja to zawsze kompromis: niezależność kontra koordynacja.
Niezależność może oznaczać szybsze dostarczanie i jasną odpowiedzialność, bo zespoły pracują bez deptania sobie po piętach. Kosztem jest koordynacja, żeby portal dalej wyglądał jak jeden produkt: wspólna nawigacja, spójne wzorce UI i czyste podejście do kwestii przekrojowych jak uwierzytelnianie, uprawnienia, logowanie i obsługa błędów.
Jeśli główny ból to „za wiele zespołów blokowanych przez jeden pociąg wydań”, mikro-frontendy mogą pomóc. Jeśli zaś główny problem to „wszyscy muszą się zgadzać co do podstaw”, mikro-frontendy mogą to utrudnić.
Kiedy mikro-frontendy zwykle pomagają
Mikro-frontendy sprawdzają się najlepiej, gdy portal jest faktycznie zbiorem oddzielnych produktów, które tylko dzielą logowanie i menu. Wtedy podział UI często pokrywa się z tym, jak praca jest już podzielona.
Najsilniejszy sygnał to wyraźna odpowiedzialność według domeny biznesowej. Billing (faktury, plany, zwroty) różni się od Supportu (tickety, makra, historia klienta) czy Inventory (SKU, ruchy magazynowe, dostawcy). Gdy każdy obszar ma odrębne reguły, dane i ekrany, granica jest naturalna.
Rytm wydań to kolejny sygnał. Jeśli Billing potrzebuje zmian co tydzień z powodu cen i podatków, a Inventory aktualizuje się miesięcznie, jeden wspólny release może stać się ciągłym blokowaniem. Oddzielne kawałki mogą wypuszczać się według własnego harmonogramu, o ile wspólne fundamenty pozostaną stabilne.
Mikro-frontendy pomagają też, gdy zespół może obsługiwać swój fragment end-to-end: UI, kontrakty API, analitykę i on-call. Bez tego zwykle tylko przesuwasz pracę koordynacyjną z jednego miejsca do drugiego.
Izolacja ryzyka to praktyczna korzyść, którą ludzie zauważają najpierw. Jeśli jedna domena jest w przebudowie lub szybko się zmienia, jej izolacja zmniejsza obszar wpływu awarii.
Jeśli twoja organizacja już tak wygląda, mikro-frontendy bardziej prawdopodobnie zmniejszą tarcia:
- Oddzielne zespoły przypisane do oddzielnych domen
- Różne harmonogramy wydań, które nie powinny się wzajemnie blokować
- Jasne granice API między domenami
- Jedna stabilna powłoka (nawigacja, auth, układ)
Kiedy mikro-frontendy zwykle szkodzą
Mikro-frontendy wnoszą realny narzut. Jeśli jeden mały zespół utrzymuje większość portalu, podział na wiele frontendów często tworzy więcej koordynacji niż przyspieszenia. Robisz dodatkową pracę, żeby elementy dalej wyglądały spójnie.
Typowy znak ostrzegawczy to duża liczba współdzielonych wzorców UI. Portale administracyjne często używają tych samych układów tabel, filtrów, akcji masowych, bannerów z uprawnieniami, paneli audytu i flowów potwierdzających. Jeśli każda strona potrzebuje tych samych bloków, wiele fragmentów może się od siebie oddalić. Małe różnice narastają i użytkownicy to zauważają.
Problematyczne są też sytuacje, gdy współdzielone workflowy zmieniają się ciągle. Jeśli ten sam formularz lub flow zatwierdzania jest używany w wielu obszarach, każda zmiana wymaga wydania obejmującego wiele zespołów. Zamiast jednego pull requestu masz kilka, plus dodatkowe testy, aby upewnić się, że cała ścieżka dalej działa.
Zdolność DevOps to cichy czynnik decydujący. Więcej repozytoriów i artefaktów do wdrożenia oznacza więcej pipeline’ów, wersjonowania, monitoringu i planów rollbacku. Jeśli zespół jest już przeciążony, możesz skończyć przy opiekowaniu się wydaniami zamiast ulepszania portalu.
Kilka mnożących ból czynników pojawia się szybko:
- Wiele współdzielonych komponentów, ale brak silnego design systemu i rządzenia nimi
- Jeden model logowania i uprawnień, który musi zachować identyczne zachowanie wszędzie
- Wiele end-to-end flowów przechodzących przez domeny (na przykład: zwrot -> ticket wsparcia -> powiadomienie klienta)
- Ograniczona zdolność do równoległych wdrożeń i szybkiej diagnozy problemów
Przykład: mały zespół ops prowadzi wewnętrzny portal administracyjny, gdzie każdy ekran korzysta z tego samego selektora klienta i tego samego panelu notatek. Jeśli te komponenty są duplikowane w mikro-frontendach, prosta zmiana reguły walidacji może zmienić się w koordynowane wydanie w wielu aplikacjach i portal zwalnia, mimo że zespół się nie rozrósł.
Granice zespołów: prosty sposób na rysowanie linii
Najczystszy sposób podziału portalu administracyjnego to domena biznesowa, a nie części UI. Domena to kawałek pracy z własnymi celami, danymi i regułami (Users, Billing, Inventory, Support). Jeśli dzielisz po przyciskach, tabelach czy „lewa vs prawa”, zespoły będą się potykać co tydzień.
Przydatne pytanie dla każdego obszaru: czy jeden zespół może odpowiadać za wynik end-to-end? Powinien móc zmieniać ekrany, walidacje i wywołania API bez potrzeby trzech innych zespołów do zatwierdzania każdej drobnej zmiany.
Krótki test granicy
Wypisz strony portalu i pogrupuj je według tego, co robi biznes. Potem sprawdź każdą grupę:
- Zasady domeny są stosunkowo stabilne.
- Jeden zespół jest właścicielem głównych danych i decyzji (źródło prawdy).
- Większość zmian zostaje w domenie.
- Wspólne części są małe i jawne (auth, powłoka nawigacji, role i uprawnienia).
- Jest jasny właściciel i ścieżka zatwierdzania dla zmian międzydomenowych.
Jeśli nie potrafisz wskazać właściciela danych, granica nie jest jeszcze realna. „Zamówienia”, które ciągle wymagają edycji „Klienta”, często oznaczają, że dzielisz za wcześnie lub w złym miejscu.
Co powinno pozostać współdzielone jest zwykle nudne, ale ważne: logowanie, obsługa sesji, globalna nawigacja, sprawdzenia uprawnień i bazowy layout. Traktuj to jako jeden kontrakt, którego wszyscy przestrzegają, albo każdy zespół zaimplementuje je trochę inaczej.
Nawet jeśli budujesz portal administracyjny w narzędziu no-code, ta zasada nadal obowiązuje: najpierw określ własność biznesową, potem zdecyduj jak pakować i wdrażać.
Wspólny design system: czynnik decydujący
Mikro-frontendy są „mikro” jedynie na wykresie organizacyjnym. Dla użytkownika to dalej jeden produkt. Jeśli UI zmienia się subtelnie między ekranami, ludzie przestają ufać narzędziu, nie tylko designowi.
Zacznij od zgody, co musi wyglądać identycznie wszędzie. W większości portali administracyjnych to: układ strony, tabele, filtry, formularze, komunikaty walidacji i informacja zwrotna systemu (toasty, bannery, błędy uprawnień).
Potem ustal, jak zespoły będą dzielić te elementy. Wspólna biblioteka komponentów daje najlepszą spójność, ale wymaga koordynacji i pracy przy wydaniach. Kopiowanie komponentów do każdego slice’a wydaje się szybsze na początku, ale różnice pojawiają się szybko, a poprawki trzeba powtarzać.
Jeśli wybierzesz wspólną bibliotekę, trzymaj ją przewidywalną. Zdefiniuj tokeny designu (kolory, odstępy, typografia), podstawowe reguły dostępności (stany focus, obsługa klawiatury, kontrast) i kto zatwierdza zmiany. „Każdy może to edytować” często staje się „nikt za to nie odpowiada”.
Gdy zmiany łamią kompatybilność, robi się bolesne. Traktuj zmiany UI jak zmiany produktowe. Prosty proces pomaga:
- Wersjonuj bibliotekę i publikuj notki wydania
- Ustal, co jest zmianą łamiącą kompatybilność
- Ustaw regularne okno aktualizacji (np. co dwa tygodnie)
- Dodaj lekką review dla nowych komponentów
Jeśli komponent tabeli zmieni sposób stosowania filtrów, jeden slice może zaktualizować się dziś, a inny za miesiąc. Użytkownicy odczują to jako brak spójności, nawet jeśli dane backendowe są poprawne.
Jeśli budujesz na platformie typu AppMaster, zastosuj tę samą zasadę: ustal jeden zestaw wzorców UI i tokenów, i egzekwuj je na ekranach, żeby oddzielne obszary dalej sprawiały wrażenie jednego narzędzia.
Jak składa się portal z mikro-frontendów (bez żargonu)
Setup mikro-frontendów to jeden portal złożony z kilku mniejszych frontendów. Trudniejsze od samego podziału jest sprawienie, by całość zachowywała się spójnie, gdy użytkownik klika.
Dwa sposoby łączenia kawałków
Pojawiają się najczęściej dwa podejścia:
Kompozycja w runtime: portal ładuje części na żywo. Aplikacja-shell renderuje ramę (nawigacja, layout) i ściąga stronę Users od jednego zespołu, a Billing od innego. To umożliwia niezależne deploye, ale dodaje więcej ruchomych elementów w runtime.
Pakowanie przy buildzie: każdy zespół buduje fragment, ale wysyłacie je razem (lub blisko siebie). Z reguły łatwiej to obsługiwać i często działa szybciej, lecz zmniejsza niezależność i może przywrócić koordynację, której chcieliście uniknąć.
Routing to miejsce, gdzie wiele projektów potyka się. Ustal, kto odpowiada za mapę URL. Popularny wzorzec: shell odpowiada za top-level trasy (/users, /billing), a każdy slice za swoje wewnętrzne trasy (/users/123). Upewnij się też, że głębokie linki działają, gdy ktoś wejdzie bezpośrednio na podstronę.
Spraw, by wyglądało to jak jeden portal
Użytkownicy nie powinni zauważać granic. Uzgodnij wspólne reguły dla auth, ról, feature flagów i bazowych zachowań UI.
Praktyczna lista kontrolna spójności:
- Jeden flow logowania i jeden model sesji w całym portalu
- Jedno źródło prawdy dla ról i sprawdzeń uprawnień
- Wspólne feature flagi, żeby ukryta funkcja była ukryta wszędzie
- Wspólne stany ładowania i błędów
- Wspólny design system, by przyciski, tabele i formularze były zgodne
Jeśli slice Orders przekroczy czas, powinien pokazać ten sam styl błędu i akcję naprawczą, której używa slice Support, a nie własny, niestandardowy komunikat.
Złożoność wdrożeń: na co się zapisujesz
Mikro-frontendy mogą wyglądać jak czysty podział, ale mnożą to, co trzeba wypuszczać i utrzymywać.
Zacznij od liczenia pipeline’ów, nie stron. Każdy slice zwykle potrzebuje własnego buildu, testów, kontroli bezpieczeństwa, zatwierdzeń, monitoringu i planu rollbacku. Przy pięciu slice’ach możesz mieć pięć pociągów wydań plus shell.
Podejmij decyzje wcześnie o kompatybilności i trybach awarii. W monolicie cofasz jedną rzecz. Przy mikro-frontendach możesz wdrożyć nowy shell, który musi współpracować ze starszym slice’em albo odwrotnie. To działa tylko z jasnymi kontraktami, zmianami wstecznie kompatybilnymi i planem rollbacku obejmującym kod i konfigurację.
Wydajność wymaga pisemnej polityki, nawet dla narzędzi wewnętrznych. Mikro-frontendy mogą duplikować biblioteki i dodawać żądania sieciowe. Ustal budżet wydajności (czas pierwszego ładowania, rozmiar bundla) i listę obsługiwanych przeglądarek, a potem egzekwuj je w CI.
Środowiska też stają się bardziej skomplikowane. Ustal jak działają dev, staging i prod: czy wszystkie slice’y przesuwają się razem na staging, czy można je testować niezależnie? Jeśli deweloper musi uruchomić cztery slice’y lokalnie, żeby przetestować jeden formularz, obietnica „niezależnych zespołów” upada.
Jeśli budujesz portale administracyjne przy pomocy AppMaster, możesz uniknąć części operacyjnego narzutu, bo wdrożenia mogą być zarządzane jako jedna zregenerowana aplikacja. Jeśli naprawdę potrzebujesz niezależnych wydań frontendów, zaplanuj złożoność z wyprzedzeniem.
Krok po kroku: jak bezpiecznie wypróbować mikro-frontendy
Mikro-frontendy najłatwiej ocenić jako kontrolowany eksperyment, a nie pełne przepisanie. Naucz się, co się poprawia (niezależność zespołów), a co pogarsza (więcej ruchomych części), zanim się zobowiążesz.
1) Zacznij od pilota o niskim sprzężeniu
Wybierz obszar, który nie leży w środku każdego workflowu. Często dobrą kandydaturą są Reports: tylko odczytuje dane, ma wyraźniejsze granice i może znieść drobne różnice, gdy się uczysz.
Zdefiniuj sukces z wyprzedzeniem. Na przykład: zespół Reports może wypuszczać zmiany bez koordynowania pełnego release’u portalu, a użytkownicy nie doświadczają wolniejszych czasów ładowania ani zepsutej nawigacji.
2) Zbuduj najmniejszy możliwy podział
Skonfiguruj host-shell i dokładnie jeden mikro-frontend.
- Shell odpowiada za logowanie, górną nawigację, bazowy layout i globalny routing.
- Pilotowy slice odpowiada end-to-end za swoje strony.
- Zanim zrobisz pierwszy deploy, ustal, kto odpowiada za współdzielone API i obsługę błędów.
- Zablokuj granicę: jakie dane przekraczają linię i w jakim kształcie.
3) Uzgodnij bazę designu przed skalowaniem
Zanim dodasz drugi slice, zgraj podstawy: odstępy, typografię, kontrolki formularzy, wzorce tabel i stany błędów. Jeśli portal ma trzy różne przyciski Zapisz, użytkownicy obwiniają produkt, a nie architekturę.
4) Dodaj monitoring, który odpowiada na realne pytania
Śledź wskaźniki: rate błędów, czas ładowania (pierwsza strona i nawigacja) oraz częstotliwość wydań dla pilota. Jeśli wydania przyspieszają, ale błędy rosną lub wydajność spada, zobaczysz to wcześnie, gdy tanio jest zmienić kurs.
Typowe błędy i pułapki
Mikro-frontendy zawodzą rzadziej z powodu samego pomysłu, a częściej przez wczesne wybory, które na początku wydają się niegroźne, a po sześciu miesiącach kosztują fortunę.
Klasyczny błąd to dzielenie według kawałków UI zamiast domen biznesowych. Jeśli jeden zespół „ma tabele”, a inny „ma filtry”, każda realna funkcja przecina granice. Dostajesz stałą koordynację, zduplikowaną logikę i długie cykle przeglądów. Podziały domenowe (Users, Billing, Inventory, Support, Reports) są zwykle bezpieczniejsze.
Uprawnienia to kolejna cicha pułapka. Portale administracyjne żyją i umierają przez reguły dostępu, a mikro-frontendy ułatwiają odchylenia w sprawdzeniach. Jeden ekran ukrywa przycisk, inny blokuje wywołanie API, trzeci zapomina jedno i drugie. Wynik to zachowanie mylące użytkownika lub, co gorsza, luki bezpieczeństwa.
Wzorce, które mocno przewidują ból:
- Zespoły wymyślają własne wzorce UI, bo design system jest opcjonalny.
- Sprawdzenia uprawnień różnią się między slice’ami, bez jednego źródła prawdy.
- Wspólne utility stają się zbiorem, który każdy edytuje, powodując konflikty wersji.
- Lokalny development zwalnia, bo trzeba uruchamiać wiele aplikacji, żeby przetestować jedną zmianę.
- Zespoły posiadają komponenty, a nie wyniki, więc przepływy end-to-end nie mają właściciela.
Ból przy lokalnym developmentcie to coś, co ludzie ignorują najdłużej. Potem każda funkcja wymaga dopasowania wersji między repozytoriami i zgadywania, który slice zepsuł stronę.
Szybka lista kontrolna decyzji
Użyj tego jako szybkiego sprawdzenia przed podjęciem decyzji. Jeśli odpowiesz „nie” na dwa lub więcej pytań, bezpieczniejsza zwykle będzie jedna aplikacja z dobrymi modularnymi granicami.
- Niezależne wydania: czy masz przynajmniej dwa zespoły, które mogą wypuszczać bez koordynowania każdej zmiany?
- Wspólne reguły UI: czy wszyscy mogą trzymać się jednego design systemu bez ciągłych sporów lub forków?
- Rdzeniowa własność: czy jest jasny właściciel nawigacji, uwierzytelniania, ról i uprawnień?
- Gotowość operacyjna: czy potraficie obsłużyć wiele buildów, deployów i rollbacków bez zamieniania każdego wydania w spotkanie?
- Plan wyjścia: jeśli złożoność urośnie, czy macie jasny sposób, by złączyć z powrotem lub zmniejszyć liczbę slice’ów?
Jeśli większość odpowiedzi to „tak”, mikro-frontendy mogą być dobrym dopasowaniem, zwłaszcza gdy obszary domen rzadko się pokrywają, a zespoły naprawdę poruszają się w różnym tempie.
Jeśli „nie” skupia się na design systemie i wspólnych fundamentach, zatrzymaj się. Portale administracyjne polegają na spójnych tabelach, filtrach, formularzach i sprawdzeniach uprawnień. Gdy to się rozjeżdża, użytkownicy czują to od razu.
Praktyczne wyjście to utrzymanie jednej aplikacji i egzekwowanie granic przez strukturę, feature flagi i zasady właścicielskie. Albo, jeśli celem jest szybsze dostarczanie bez wielu frontendów, podejście no-code jak AppMaster może pomóc zbudować modułowy portal z wspólnym auth i spójnymi wzorcami UI.
Przykładowy scenariusz: podział wewnętrznego portalu administracyjnego według domeny
Średniej wielkości firma prowadzi jeden wewnętrzny portal używany przez Sales Ops, Support i Finance. Zaczęło się od jednego repo frontendowego, jednego pipeline’u wydania i wspólnego zestawu stron. Przy 10–15 osobach wydawało się prosto.
Potem zespoły się rozrosły. Sales Ops potrzebował szybkich zmian reguł routingu leadów i dashboardów. Support potrzebował nowych pól spraw i narzędzi eskalacji. Finance potrzebował workflowów fakturowania i zatwierdzeń, które nie mogły czekać na następne duże wydanie.
Co się psuje w jednym repo to nie tylko kod. To koordynacja. Każda zmiana dotyka wspólnej nawigacji, wspólnych tabel, formularzy i uprawnień. Małe edycje wywołują długie wątki review, zamrożenia wydań przed końcem miesiąca i niespodziewane zmiany UI, które przeszkadzają innym zespołom.
Pragmatyczny podział to zachowanie cienkiego shella i wydzielenie na początek dwóch domenowych aplikacji:
- Shell: logowanie, globalna nawigacja, kontekst użytkownika, wspólne komponenty UI
- Finance: faktury, płatności, zatwierdzenia, widoki audytu
- Support: tickety, makra, eskalacje, oś czasu klienta
Sales Ops zostaje tymczasowo w shellu, bo jego strony ponownie używają wielu współdzielonych widgetów i często się zmieniają. Celem jest zmniejszenie ryzyka, dopóki podział nie się nie sprawdzi.
Po sześciu tygodniach sukces powinien być mierzalny: Finance wypuszcza co tydzień bez czekania na Support, hotfixy szybciej trafiają do produkcji, czas przeglądu PR spada, spójność UI się poprawia dzięki właścicielstwu komponentów, a awaria jednej domeny nie bierze całego portalu offline.
Jeśli budujesz portale administracyjne z AppMaster, możesz odzwierciedlić ten sam pomysł traktując każdą domenę jako osobną aplikację, zachowując jednak jeden zestaw wzorców UI i ról. To utrzymuje realną niezależność bez sprawiania, że portal wygląda jak trzy różne produkty.
Kolejne kroki: wybierz ścieżkę i zmniejsz ryzyko
Jeśli twój portal działa dziś, najbezpieczniejszy następny krok zwykle nie jest przepisaniem. To ułatwienie bieżącego setupu.
Jeśli zostajesz przy jednym froncie, możesz wciąż zmniejszyć przyszły ból tworząc jasne granice: grupuj kod według domen (nie warstwy technicznej), przypisz właściciela dla każdej domeny i uzgodnij dyscyplinę wydań (co kwalifikuje się jako gotowe, jak rollback i jak unikać niespodziewanych breaking changes).
Jeśli idziesz w stronę mikro-frontendów, zacznij od jednego małego slice’a. Wybierz obszar o niskim sprzężeniu (logi audytu lub ustawienia billingowe) i spisz kontrakty, od których zależy: współdzielone komponenty UI, kształty API i zdarzenia analityczne. Najszybszy sposób, by mikro-frontendy zaczęły boleć, to pominięcie wspólnego design systemu i odtworzenie tych samych kontrolek pięć razy.
Jeśli prawdziwym celem jest szybkie wypuszczenie narzędzia wewnętrznego, opłaca się porównać pracę architektoniczną z platformą no-code, która wciąż generuje realny kod. AppMaster jest jednym przykładem: potrafi generować produkcyjne backendy, aplikacje webowe i natywne mobilne, utrzymując auth, wzorce UI i logikę biznesową w jednym miejscu.
Zadania warte wykonania w tym tygodniu:
- Zmapuj portal na 5–10 domen biznesowych.
- Wybierz jedną domenę pilotażową z małą liczbą zależności.
- Spisz zasady własności (zatwierdzenia, właścicielstwo wspólnych UI, obsługa incydentów).
- Wypisz, co musi być znormalizowane (tokeny, tabele, wzorce formularzy, sprawdzenia uprawnień).
- Zdecyduj, jak będziesz wdrażać i cofać zmiany, zanim cokolwiek zbudujesz.
Cel: jeden mierzalny sukces w dwa tygodnie: mniej konfliktów wydań, szybsze zmiany w jednej domenie lub mniej niespójności UI.
FAQ
Micro-frontends próbują zmniejszyć blokady, gdy wiele zespołów musi zmieniać jeden portal administracyjny, a wszystko utknęło w jednym kodzie, jednym buildzie i jednym wydaniu. Pozwalają zespołom niezależnie wypuszczać części UI, kosztem większej koordynacji przy wspólnych fundamentach.
Zwykle pomagają, gdy portal można rozbić na wyraźne domeny biznesowe z konkretną własnością, np. Billing, Support, Inventory i Reports. Jeśli te domeny mają różne rytmy wydań i oddzielne zasady oraz dane, mikro-frontendy mogą skrócić oczekiwanie i zmniejszyć zakres wpływu zmian.
Często hamują, gdy mały zespół utrzymuje większość portalu lub gdy portal intensywnie korzysta z tych samych elementów UI na wszystkich stronach. Wtedy dodajesz repozytoria, pipeline’y i wersjonowanie, ale nie osiągasz prawdziwej niezależności.
Dziel przez domeny biznesowe, a nie przez części UI, takie jak „tabele”, „filtry” czy „lewy panel”. Dobra granica to obszar, w którym jeden zespół może odpowiadać za ekrany, reguły i użycie API end-to-end, bez potrzeby zatwierdzeń od innych zespołów przy każdej drobnej zmianie.
Zapytaj, czy możesz wskazać jasnego właściciela danych i decyzji w danym obszarze oraz czy większość zmian zostaje w tej domenie. Jeśli „Zamówienia” ciągle wymagają zmian w „Kliencie”, prawdopodobnie nie masz jeszcze czystej granicy.
Zwykle do wspólnego utrzymania powinny pozostać: logowanie, obsługa sesji, globalna nawigacja, bazowy layout, reguły routingu i jedno źródło prawdy dla ról i uprawnień. Traktuj to jako jawne kontrakty, bo inaczej zespoły będą to różnie implementować.
Wspólny design system sprawia, że portal nadal wygląda jak jeden produkt — zwłaszcza w odniesieniu do tabel, filtrów, formularzy, komunikatów walidacji i stanów błędów. Bez niego drobne różnice szybko się kumulują i użytkownicy tracą zaufanie, bo te same akcje wyglądają i zachowują się inaczej.
Kompozycja w czasie wykonywania: shell ładuje części na żywo (umożliwia niezależne deploye, ale dodaje elementy w runtime).
Pakowanie przy buildzie: zespoły budują kawałki, które są wysyłane razem (albo blisko siebie). Prostsze w obsłudze, często szybsze, ale zmniejsza niezależność i może przywrócić koordynację.
Spodziewaj się większej liczby pipeline’ów, zatwierdzeń, monitoringu, planów rollbacku oraz problemów z kompatybilnością między shellem a slice’ami. Ustal wcześniej, jak radzić sobie z niezgodnościami wersji, co oznacza „wsteczna kompatybilność” i co się stanie, gdy jedna część zawiedzie lub będzie działać wolno.
Zacznij od obszaru o niskim sprzężeniu, np. Reports lub logów audytu. Zbuduj cienki shell i dokładnie jeden slice. Zdefiniuj metryki sukcesu: niezależność wydań, czas ładowania i wskaźnik błędów. Dopóki nie ustalisz wspólnego uwierzytelniania, uprawnień i podstawowych wzorców UI, nie dodawaj drugiego slice’a.


