11 min čteníŠtěpán Unar

Micro-frontendy v praxi: Kdy rozdělit UI (a kdy ne)

Micro-frontendy slibují autonomii týmů a nezávislé deploymenty. Ale cena za složitost je reálná. Jak se rozhodnout.

V teorii krásné

Micro-frontendy rozšiřují filozofii mikroslužeb na frontend: místo jedné monolitické React aplikace rozdělíte UI na nezávisle nasaditelné části vlastněné různými týmy. Tým A vlastní katalog produktů, Tým B pokladnu, Tým C uživatelský dashboard. Každý tým si vybere svůj tech stack, nasazuje podle vlastního harmonogramu a nikoho neblokuje. V teorii krásné. V praxi složité.

Výhody jen ve větší škále

Výhody jsou reálné — ale jen ve větší škále. Pokud máte 3+ frontendové týmy pracující na stejném produktu a navzájem si lezou do zelí, micro-frontendy řeší skutečný koordinační problém. Nezávislé deploymenty znamenají, že Tým A může vydat opravu bez čekání na release train Týmu B. Izolované kódové báze znamenají, že bug v pokladně neshodí katalog produktů. Autonomie týmů znamená rychlejší nábor a onboarding, protože každý tým vlastní menší, zaměřený kód.

Reálné náklady

Náklady jsou stejně reálné. Sdílený stav se stává problémem distribuovaných systémů. Konzistence designu vyžaduje robustní design systém a governance. Výkon trpí, pokud načítáte více frameworků. Uživatelský zážitek může působit roztříštěně, pokud týmy nekoordinují navigaci, loading stavy a zpracování chyb. Module Federation (Webpack 5) a import maps pomáhají s technickým propojením, ale organizační výzvy neřeší.

Naše pravidlo

Naše pravidlo: pokud máte méně než 20 frontendových vývojářů, dobře strukturovaný monolit s jasnými hranicemi modulů vám poslouží lépe. Použijte monorepo s Turborepo nebo Nx, vynucujte vlastnictví kódu přes CODEOWNERS soubory a nasazujte celou aplikaci. Získáte většinu organizačních výhod bez daně distribuovaných systémů. Micro-frontendy si nechte na chvíli, kdy monolit skutečně nezvládá — a kdy máte platform engineering tým na podporu infrastruktury.

Napsal/a

Štěpán Unar

Chcete s námi spolupracovat?

Micro-frontendy slibují autonomii týmů a nezávislé deploymenty. Ale cena za složitost je reálná. Jak se rozhodnout.