#angular #architecture
Вопрос:
Нужна некоторая помощь в архитектуре.
Мое приложение является «центром» с некоторыми функциями, и я хочу предоставить процесс адаптации для других команд, чтобы расширить наш пользовательский интерфейс. Команды стремятся создать расширения концентратора и использовать функции, предоставляемые концентратором, а также использовать основной домен концентратора. В настоящее время мое приложение написано с использованием Angular. Чего я надеюсь достичь, так это следующего:
- Моя команда поддерживает центральное хранилище «хаб».
- Другие команды, желая внести свой вклад в мое приложение, создают свой собственный проект и поддерживают свой собственный репозиторий.
- Маршруты «концентратора» могут динамически обновляться, чтобы указывать на новые вклады, не требуя развертывания приложения «концентратор». Домен «концентратор» останется, но загрузится в добавленное приложение по назначенному маршруту.
- Другие команды могут обновлять свой репозиторий и развертывать свои изменения в своей собственной последовательности. Приложение «концентратор» отразит эти новые изменения при перезагрузке страницы.
- (Предпочтительно) страницу не нужно перенаправлять на добавленные страницы.
У меня есть следующие вопросы:
- Возможно ли это с помощью Angular?
- Если это возможно, является ли это хорошим подходом?
- Если это не очень хороший подход, есть ли лучший, который может обеспечить динамический, распределенный вклад в центральный пользовательский интерфейс?
- Если это невозможно с помощью Angular, возможно ли это с помощью другого фреймворка? Если да, то как бы это выглядело?
Моя цель состоит в том, чтобы не требовать, чтобы другие команды имели глубокие знания о приложении «хаб», чтобы расширить его на пользовательский интерфейс. Я также хочу избежать развертывания приложения «концентратор», которое является узким местом для других вкладов. Я надеюсь, что что — то подобное возможно.
Спасибо за ваш вклад. Я знаю, что это очень много…
Комментарии:
1. Это похоже на случай Федерации модулей?
2. Интересный. Я не знал об этом инструменте. Я посмотрю и посмотрю, подходит ли это для случая использования. Спасибо!