У вас может быть два подхода, как вы упомянули.
- Внешний интерфейс и серверная часть в одном проекте.
- Внешний интерфейс и серверная часть в другом проекте.
Я хотел бы выделить различия для обоих
Для пункта 1 Подходит там, где
- У вас есть небольшие проекты.
- Где все может управляться в одном проекте, например, с точки зрения поддержки не требуется слишком много бэкэнда.
- Если есть один интерфейс, использующий один бэкэнд-проект.
Подробно рассмотрим третий пункт, например рассмотрим, есть ли у вас разные проекты внешнего интерфейса, взаимодействующие с одним и тем же сервером.
И главное, вы хотите публично раскрыть свой API, тогда это не рекомендуется для первого подхода
Подход 2 - это что-то
Там, где вы пишете разделяемые API-интерфейсы, командам требуется поддержка, слишком большая часть серверной части требуется и поддерживается время от времени эт c ... Например как микросервисная архитектура .... !!!