Хм, у нас на проекте на беке спринг мвц в виде рестов, на фронте - vue.js. Вроде норм. Предполагаю, если делать рест-сервис, то тогда отвязываешь вообще от каких-либо фронтов, и фронт может быть любым (либо вообще потребитель сервиса, а тогда это может быть и другое джава-приложение, и приложение на андроиде, и вообще что угодно).