JS Rich-фронтед лучше потому что у клиента не перегружаются страницы и ресурсы - меньше трафика, быстрее скорость отклика.
Допустим можно сделать на Angular.js или Backbone и реализовать JSON RESTful API, для его документирования смотреть в сторону Swagger - есть привязки к tastypie. И проганять весь фронтенд на node.js через prerender.io что бы была у роботов возможность индексировать нормально страницы.
Вот "серверная или клиентская шаблонизация" тут уже было много-много холиваров.
Люди пытались писать гетерогенные шаблонизаторы которые исполняются и на сервере и на клиенте, Jade к примеру. Поддерживать такое бывает довольно сложно, но никто не запрещает попробовать. Поисковые роботы индексируют "без JS", либо гугл 2-3 раза в неделю "с JS", что собственно полная лажа для SEO. Я пошёл путём наименьшего сопротивления, сначала делал prerender в phantomjs, а потом вышел prerender.io и счастью моему не было придела.
Важно понимать что node.js в таком случае не резиновый, и при больших нагрузках важно обеспечить хорошее http кэширование - расстановку if-modified-since, и etag'ов. Для этого я использую специально допиленный кэширующий плагин nginx. Вообще поддержка http кэширования в rich frontend'ах сейчас очень больная тема. Её просто нет, и это вызывает много проблем.