Архитектурный момент по Angular JS || JSF + Spring

У меня есть вопрос по архитектуре современных корпоративных систем. Стал изучать это все сравнительно недавно, и вот есть у меня один вопрос. Как я понял, в плане фронтеда существую две доминирующих на данный момент технологии (за ранее извиняюсь если кого обидел). Это JSF и Angular JS. При этом последней, в последнее время стал сильно теснить по популярности первый. Поизучав их на уровне примеров, у меня сложилось такое мнение. Эти две технологии являются крайностями по паттерну сопряжения. JSF его вообще игнорирует самым грубым образом, по сути сливая серверный код с клиентским. Так как я фанатик предельно низкого сопряжения слоев, у меня от этого волосы на голове встали дыбом со словами на устах - так нельзя! Angular JS является на мой взгляд полной противоположностью JSF, так как клиентский код вообще ничего не знает о сервере, кроме api и форматов данных для передачи в rest или soap сервисы. Поэтому идеологически мне очень близок.

Вопрос такой, что на данный момент есть JSF? Уходит ли в прошлое данная технология? Прав ли я в том, что нельзя сливать фронт с бекендом, как это делает JSF? Ну и в общем каковы тенденции по данной теме на данный момент?