Способы интеграции микрофронтендов
Вопрос
Какие способы интеграции микрофронтендов ты знаешь и чем они отличаются?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Build-time через npm-пакеты: просто, но общий деплой
iframe: полная изоляция, но тяжело и неудобно
Module Federation: рантайм-загрузка, shared-зависимости, независимый деплой
Web Components: фреймворконезависимо, Shadow DOM для стилей
Серверная или edge-композиция: быстрый первый экран, сложная инфраструктура
Оркестратор вроде single-spa: монтирование по маршрутам, разные фреймворки
Что могут спросить следом
- Что выберешь для SSR-приложения?
- Как версионировать контракт между хостом и remote?
Разбор
Самый простой способ: собирать части как npm-пакеты в одно приложение, но тогда деплой общий, и это скорее модульность, чем микрофронтенды. iframe даёт полную изоляцию, но каждая часть грузит свой документ, а модалки, высота и доступность становятся проблемой. Module Federation позволяет хосту в рантайме грузить модули remote по URL, общие зависимости вроде React делятся через shared singleton, и каждая команда деплоит независимо, сейчас это основной вариант. Web Components оборачивают часть в custom element с изоляцией стилей через Shadow DOM, удобно, если фреймворки разные. Серверная композиция собирает страницу из фрагментов на сервере или CDN, это даёт быстрый первый экран, но требует сложной инфраструктуры. Single-spa оркестрирует монтирование частей по маршрутам.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.