Распределенная угловая архитектура пользовательского интерфейса

#angular #architecture

Вопрос:

Нужна некоторая помощь в архитектуре.

Мое приложение является «центром» с некоторыми функциями, и я хочу предоставить процесс адаптации для других команд, чтобы расширить наш пользовательский интерфейс. Команды стремятся создать расширения концентратора и использовать функции, предоставляемые концентратором, а также использовать основной домен концентратора. В настоящее время мое приложение написано с использованием Angular. Чего я надеюсь достичь, так это следующего:

  1. Моя команда поддерживает центральное хранилище «хаб».
  2. Другие команды, желая внести свой вклад в мое приложение, создают свой собственный проект и поддерживают свой собственный репозиторий.
  3. Маршруты «концентратора» могут динамически обновляться, чтобы указывать на новые вклады, не требуя развертывания приложения «концентратор». Домен «концентратор» останется, но загрузится в добавленное приложение по назначенному маршруту.
  4. Другие команды могут обновлять свой репозиторий и развертывать свои изменения в своей собственной последовательности. Приложение «концентратор» отразит эти новые изменения при перезагрузке страницы.
  5. (Предпочтительно) страницу не нужно перенаправлять на добавленные страницы.

У меня есть следующие вопросы:

  1. Возможно ли это с помощью Angular?
  2. Если это возможно, является ли это хорошим подходом?
  3. Если это не очень хороший подход, есть ли лучший, который может обеспечить динамический, распределенный вклад в центральный пользовательский интерфейс?
  4. Если это невозможно с помощью Angular, возможно ли это с помощью другого фреймворка? Если да, то как бы это выглядело?

Моя цель состоит в том, чтобы не требовать, чтобы другие команды имели глубокие знания о приложении «хаб», чтобы расширить его на пользовательский интерфейс. Я также хочу избежать развертывания приложения «концентратор», которое является узким местом для других вкладов. Я надеюсь, что что — то подобное возможно.

Спасибо за ваш вклад. Я знаю, что это очень много…

Комментарии:

1. Это похоже на случай Федерации модулей?

2. Интересный. Я не знал об этом инструменте. Я посмотрю и посмотрю, подходит ли это для случая использования. Спасибо!