advanced

Micro-frontends

Делите frontend delivery по independently owned product areas только когда team autonomy перевешивает runtime, UX и integration complexity.

Micro-frontends делят frontend delivery по независимо владеемым product areas — checkout, account, catalog — с отдельным deploy pipeline и командой. Интеграция на runtime через module federation, iframes, web components или shell, который собирает routes. Компромисс: автономия команд против единого UX, дублирования bundle, cross-app navigation и согласованных design tokens.

Выбирайте паттерн, когда организационные границы и cadence релизов важнее технической связности. Модульный монолит с feature folders часто дешевле, пока несколько команд не блокируют друг друга на каждом релизе.

На интервью: объясните, когда не стали бы дробить frontend, как решаете shared auth, routing, styling и error boundaries, и какую модель runtime integration выбрали.

Типовые ошибки: разрез по техническому слою вместо business capability; дублирование зависимостей и design system; игнорирование стоимости загрузки нескольких приложений; micro-frontends как default, а не организационное решение.

Чеклист:

  • Назовите границу ownership и независимость релизов.
  • Опишите механизм интеграции и обязанности shared shell.
  • Сравните trade-offs по bundle size, latency и UX consistency.
  • Укажите стратегию rollback и versioning между micro-apps.