Ответ 1
Короткий ответ:
Ищите мой длинный ответ, чтобы думать по-другому. Существует причина, по которой вы не находите много формальных популярных архетипов.
Архетипы Maven для AngularJS Плагин Maven Grunt
Длинный ответ:
Я бы посоветовал вам against
смешивать и поощрять относиться к ним отдельно для "чистоты", а также с архитектурной точки зрения.
Рассматривайте их как 2 отдельных приложения.
Вот причины, по которым
Сборка и инструменты - Инструментарий на стороне Java не догонит Web/Javascript. SPA - это полноценные приложения и, как правило, имеют собственный рабочий процесс разработки. Следовательно, работа с инструментами построения, такими как Grunt/ Gulp, сделает вещи более легкими, чем если бы на стороне сервера Java (или другой JVM lang) вы шли дальше.
SPA с и с AngularJS являются более нормой в средствах построения на основе node. В будущем вы найдете множество инструментов в этом пространстве, чем Java-инструменты для Javascript/HTML-приложения.
Стиль архитектуры REST Стиль архитектуры REST вы уже принимаете осознанное решение о разделении. Приложения Think Server обслуживают сущности (состояния). Приложение UI представляет.
Свобода с циклами развития
Вы можете разрабатывать и выпускать свой UI SPA отдельно в совершенно другом цикле выпуска. Это большая свобода. Эта свобода также сопряжена с небольшими затратами, то есть версиями и упрощающими интерфейсами, которые можно преодолеть с помощью схемы JSON и управления версиями API. Одним из примеров схемы JSON является то, что вы можете использовать генерацию Jackson Schema https://github.com/FasterXML/jackson-module-jsonSchema чего-то подобного, что может сделать схему доступной во время сборки/разработки. Также просмотрите http://beanvalidation.org/1.1/ и объявите Bean ограничения проверки, такие как (обязательно, тип, формат и т.д.) И перейдите к declarative approach
. Затем вы можете легко экспортировать это в схему JSON.