При разработке веб-приложения обменки валют http://obmen24.kh.ua были поставлены две вполне вменяемые задачи: 1) чтобы приложение было доступно поисковым роботам (а кто о нем иначе узнает) 2) чтобы страница обновлялась каждве там энное количество секунд, Конечно же Аяксом.
Вобщем-то идея не нова - это использовать изоморфные веб-приложения. Но вот каков инструментиарий? В настоящее время есть простой и удобный фреймоверк - Riot.js.
Архитектура достаточно простая. Ваши тэги могут быть отрендерены как на сервере так и на клиенте. Для отображения данных им подсовывется джейсон-объект.
При первой загрузке тэг рендерится на сервере. Дальше по таймауту производится монтирование вместо серверного тэга - клиентского функцией mount и дальнейшее обновление функцией update.
Бонус заключается в том что не нкжно даже указывать что и где рендерится, т.к. Riot.js сам находи одноименные компоненты и монтирует их в нужном тэге.
Вобщем-то результат достаточно эффективный. Около полусотни файлов backbone + backbone-marionette были заменены несколькоими тэками Riot.js и приложение которое google.com не видел даже с пресловутым пререндерером - за 2 часа попало на третью страницу google.com.
Минусы - нетвозможности через каждые два слова произносит backbone-marionette. При этом backbone - слегка внос, а marionette - элегантно грассируя.
Пока.