Сейчас активно продвигается идея изоморфных приложений, когда первая страница рендериться на сервере, а последующие на клиенте.
Тут есть два подхода, либо использовать так называемые full-stack фреймворки(на nodejs), на подобии derbyjs или meteor. Очень интересные инструменты, но привязаны к mongo. При этом подходе и сервер и клиент пишутся на JS.
Второй подход заключается в том, что у нас есть сервер с которым мы работаем по API(пишите на чем хотите), а фронтэенд имеет скажем так прослойку на nodejs.
С появлением ReactJS рендерит одну и туже страницу на сервере и на клиенте стало очень просто.
Уже сейчас есть эксперементальные инструменты например от Ebay
https://github.com/appsforartists/ambidex
Думаю скоро нас накроет волной подобных решений. И тогда подобные вопросы сами собой отпадут =)