Twitter объявил об очередной смене архитектуры: рендеринг страниц теперь будет осуществляться на стороне сервера, а не на стороне клиента.
После прошлой модернизации в сентябре 2010 года весь рендеринг UI и логику переложили на JavaScript на клиентской стороне. Браузеры напрямую обращались к Twitter REST API, как и мобильные клиенты. Хотя такой подход помог реализовать ряд преимуществ, но разработчики потеряли возможности оптимизации, которые доступны при серверно-ориентированном подходе. В результате, пользователи начали жаловаться на субъективное «подтормаживание» страниц twitter.com.
На этой неделе новую архитектуру выкатили для статичных ссылок (пермалинков). Как показали тесты, скорость загрузки страницы в браузер пользователя выросла в среднем в пять раз, а также значительно сократился разрыв между различными браузерами, которые по-разному справляются с JavaScript.
Теперь поверх уже отрендеренных страниц пользователю будут загружать новое модульное JavaScript-приложение с деревом зависимостей для различных интерактивных функций. Новый фреймворк позволит быстро добавлять туда новые фичи, адаптировать его под новые технологии, поддержка которых появилась в браузерах.
Для пермалинков новая система уже работает, а в ближайшие несколько недель её накатят на весь остальной сайт.
Кстати, как можно заметить, из статичных ссылок исчезли хэшбэнги (#), это одно из последствий оптимизации. С браузера сняли часть работы по выполнению JavaScript, распознаванию пути, скачиванию и рендерингу контента для указанного URL.
Автор: alizar