Рабочий дневник: День 464
Как я микрофронты собираю
🔥 Вот и случился у меня Enterprise. Это когда скоуп технологий настолько большой, что они особо не нужны соло билдеру. Ну вот зачем микрофронт тудушке? Разве что встроить её рядом с трекером калорий или бега...
Теперь же я уже пару месяцев пилю похожие виджеты. Потом выношу их в MF. Как микросервисы, только вместо HTTP у нас доставка UI. По сути, это части функционала из разных проектов. Например задачи из трекера.
😓 Где-то их нужно проектировать с нуля, а где-то дают готовые решения на интеграцию в наш хост. Забавно, но для меня это стало скорее интересным опытом, чем организационной необходимостью.
Всё же главная цель MF вынести фичи в зоны ответственности разных команд. Оно хорошо заходит когда MF большие. В других случаях их проще держать как локальные модули.
🍺 Хотя и тут всё не так однозначно. Ещё один плюс MF в их изоляции. Условный MF задач технически может обратиться к MF календаря через DI, но это дисциплинарный антипаттерн.
Правило глассит: MF не знают друг о друге, композицию страницы собирает хост. За всю эту магию у нас отвечает community plugin от OriginJS. Они сделали свой Vite порт тк устали ждать с 2019 года.
🍒 Тогда Zack Jackson впервые представил Module Federation 1.0 и завернул его в Webpack 5. Но сегодня решение морально устарело. В 2024 году появился Module Federation 2.0. Он стал кросс-бандлерным.
Интересно, что до MF такие штуки собирали через iframes, SPA и серверную композицию.
📊 #статистика в IT 1653д | 5296ч
Post #1764
27K
Джун на фронте | IT Dev Log Рабочий дневник: День 423 Как я к BFF подключался 👨💻 Ранее мне передали два фронта из микрофронтов. По сути они идентичны. Но есть нюанс: один работает в закрытом контуре, а второй может ходить в интернет. Для закрытого нужен прокси. Он через M2M пойдет…
