Я
бы всё же предпочел видеть дневники как one-page web-application.
Загрузка данных – инкрементальная
Данные в пределах одной сессии хранятся на клиенте
Это позволило бы запускать сложный запрос – для показа списка избранных, один раз. Все новые вызовы ленты в пределах сессии просто запрашивали бы данные ограниченные временем последнего обновления. Их было бы значительно меньше.
Кроме того это позволило бы обновлять остальные блоки страницы асинхронно, что привело бы к логичному разбиению функциональности страницы на мелкие, легко контролируемые и изменяемые модули с элементарной логикой.
В дальнейшем это могло бы привести к автоматическому (без принудительного refresh) появлению в списках новых сущностей: активных пользователей, записей, информации о наличии писем...
Но для этого нужно, конечно, ориентироваться на такой подход и работать над двумя вариантами приложения, к сожалению. Зато это бы стимулировало развитие API для универсализации работы, что подтолкнуло бы развитие клиентов и тоже снизило бы нагрузку на сервер в конечном итоге.
В первом варианте, можно сказать – прототипе, этот новый вариант приложения мог бы содержать только ограниченную функциональность:
-
просмотр и редактирование записи и комментариев.
- френд-лента
- главная страница (тоже усеченная)
Остальные функции можно было бы вызывать в старом варианте в отдельных окнах. А из-за модульности подхода любой из блоков было бы значительно проще добавлять on-the-fly.
Это снизило бы нагрузку на сервер со стороны такого «умного» клиента, а удобство его привлекло бы пользователей, что обеспечило бы планомерную миграцию со старого варианта, который бы остался в качестве альтернативы для неразвитых web-браузеров.
…
Но это все так, мысли в слух.
|