Микрофронтенды: что это и когда оправданы
Вопрос
Что такое микрофронтенды, какими способами их делают и когда они оправданы?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
это разные приложения, склеенные на одной странице
способы: Module Federation, iframe, веб-компоненты, серверная склейка
дают независимый деплой и разные стеки у разных команд
причина брать - организационная, а не техническая
цена: дублирование зависимостей, общая авторизация, сквозные стили, отладка через границу
при одной команде это чистый убыток
монорепо часто решает ту же задачу дешевле
Что могут спросить следом
- Как решать общую авторизацию между микрофронтендами?
- Что происходит с размером бандла?
Разбор
Микрофронтенды - это когда на одной странице живут разные приложения, собранные и задеплоенные отдельно.
Как делают. Module Federation (Webpack/Rspack) - самый распространённый способ, модули подтягиваются в рантайме. iframe - полная изоляция ценой UX и общего состояния. Веб-компоненты - общий контракт через DOM. Серверная склейка - сборка разметки на бэкенде.
Зачем берут. Единственная честная причина - организационная: несколько команд хотят катить свои части независимо и не ждать общего релиза. Иногда добавляется постепенная миграция с legacy-стека.
Чем платят - постоянно, а не один раз: дублирование React и библиотек в бандлах, общая авторизация и состояние между приложениями, сквозная тема и стили, отладка через границу, версионирование контрактов между командами.
Что стоит сказать на секции. «Микрофронтенды решают проблему команд, а не кода. Если команда одна, это убыток. Я бы сначала посмотрел на монорепо: те же независимые части и общий код, но без рантайм-склейки и дублирования зависимостей».
Частые ошибки
- Называть микрофронтенды признаком зрелости: чаще это признак несогласованности.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.