MICRO-FRONTENDS IN PRACTICE
Maksim Borovik
Software Engineer
23 September 2025
Содержание
2
Архитектура приложения
Для начала давайте рассмотрим стандартную архитектуру Front-End приложения. Она состоит из следующих частей:
Собрать все эти части можно несколькими способами. Давайте рассмотрим каждый подробно.
4
Монолит
Монолитное приложение на фронтенде — это архитектурный подход, при котором весь пользовательский интерфейс (UI) и логика взаимодействия реализованы в рамках одного единого проекта. Вся структура — от компонентов до маршрутизации и состояния — находится в одном кодовом репозитории и разворачивается как единое целое. Основные характеристики монолитной архитектуры:
5
Монолит. Преимущества
6
Монолит. Недостатки
7
Микросервисы
Микросервисы на фронтенде — это архитектурный подход, при котором пользовательский интерфейс разбивается на независимые, автономные модули, каждый из которых можно разрабатывать, тестировать, деплоить и масштабировать отдельно. Этот подход часто называют микрофронтендами (Micro Frontends), по аналогии с микросервисами на бэкенде. Основные характеристики микрофронтендной архитектуры:
8
Микросервисы. Преимущества
9
Микросервисы. Недостатки
10
Module Federation
Module Federation — это плагин, созданный изначально для webpack, который позволяет разделять код между несколькими независимыми приложениями и динамически загружать его в браузере пользователя. Это может быть полезно во многих случаях, когда необходимо создать масштабируемую архитектуру фронтенд-приложений.
Основные возможности Module Federation:
12
Module Federation. Host app
Теперь давайте рассмотрим пример конфигурации Module Federation на с использованием плагина vite-plugin-federation для сборщика Vite. Чтобы настроить Module Federation нам необходимо описать три основные конфигурации:
На скриншоте справа мы можем видеть пример конфигурации нашего host приложения. Мы указываем имя модуля, список удаленных модулей (remotes) которые мы хотим использовать в нашем хосте с url адресом по которому мы можем их получить, а также список общих зависимостей (shared).
С более тонкими возможностями настройками плагина можно ознакомится в документации
13
Module Federation. Remote app
В конфигурации удаленного приложения мы указываем:
Более подробно ознакомиться с кодом готового примера рабочего приложения построенного на ReactJS с помощью Vite и Module Federation вы можете перейдя по ссылке в GitHub репозиторий lastfm-micro-frontends
14
Выводы
Микрофронтенд архитектура имеет смысл, когда недостатки монолита начинают преобладать над преимуществами. Например, когда вы сталкиваетесь с такими проблемами:
Во всех этих ситуациях стоит задуматься о микрофронтендах. В данной презентации мы рассмотрели подход построения микрофронтендов основанный на Module Federation. Это не единственный инструмент для построения микрофронтендов. Поэтому перед тем как реализовывать рекомендую изучить все имеющиеся инструменты и выбрать тот который лучше подходит под ваши требования.
16
Полезные материалы по теме
17
THANK YOU