В [предыдущей статье][1] я рассказывал про реализацию Flux и веб-компонентов во фреймворке [Catberry.js][2], и эта статья – обещанное продолжение про движок прогрессивного рендеринга.
Наверное, вы сталкивались хотя бы раз в жизни с JPEG-картинкой, которая сперва загружается с сервера мутной, а по мере загрузки остального содержимого становится чётче. Такой формат картинки называется "[Progressive JPEG][3]", и его основная идея – показать как можно скорее пользователю хоть какое-то содержимое, пусть и не до конца готовое. Пользователь с первой секунды уже будет знать размер картинки и ее примерное содержимое, а в дальнейшем содержимое будет становится только отчётливее. Лично я не знаю откуда появилась идея назвать потоковый (stream-based) рендеринг HTML прогрессивным, но первое применение этого термина именно к рендерингу HTML я нашел в статье за декабрь 2009 года "[Progressive rendering via multiple flushes][4]". Однако и в более свежих статьях, например от [разработчиков Google][5], можно найти термин «Optimized (progressive) rendering». [Читать дальше →][6]
[1]:
http://habrahabr.ru/post/262949/
[2]:
http://catberry.org/
[3]:
https://en.wikipedia.org/wiki/JPEG#JPEG_compression
[4]:
http://www.phpied.com/progressive-rendering-via-multiple-flushes/
[5]:
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/index?hl=en
[6]:
http://habrahabr.ru/post/263971/#habracut