- PVSM.RU - https://www.pvsm.ru -
Веб производительность это то, что меня беспокоит как разработчика, чья работа затрагивает миллионы людей по всему миру, так и пользователя, который часто получает доступ к веб используя медленное и ненадежное соединение. Я часто и громко жаловался, что сайт BBC News неоправданно медленный [1], поэтому когда мне предоставилась возможность помочь перестроить одну из самых посещаемых страниц на BBC News — я ухватился за этот шанс.
Это был апрель 2016. Сейчас, спустя год, мы готовы начать поэтапный переход на новую главную страницу. Начиная с небольшого процента пользователей из Великобритании, мы постепенно переведем всех на новую главную страницу в течении нескольких недель. Если же вам нетерпится увидеть её прежде чем переход будет завершен, она доступна по адресу www.bbc.co.uk/news/0 [2]
Текущая версия главной страницы это задача номер один, часть первая. Мы будем существенно её менять в течении следующих нескольких месяцев. Вот некоторые идеи, что вы можете ожидать увидеть:
Несмотря на то что мы уже существенно улучшили её производительность, все еще много работы только предстоит сделать:
Чтобы запустить главную страницу быстрее, мы пошли на многие компромисы с UX и редакторской командами по поводу дизайна страницы. После того как мы закончим с внедрением, мы будем улучшать визуальную часть блока историй (промо) чтобы выделить истории корреспондентов и избранные частицы. Текущий дизайн выглядит так:
Ниже одно из предложений как мы можем показывать другие типы промо:
На раннем этапе мы решили что React в браузере будет излишним для страницы на которой в основном статичные тексты и изображения. Влияние на произодительность от объединения такого количества Javascipt'а и выполнения его в браузере также непозволительно высокое. Даже используя рендеринг на стороне сервера, эмулируемые мобильные устройства тратили на выполнение скриптов и прорисовку почти в 4 раза больше времени когда React был запущен на странице.
Без React на странице
Влияние React в браузере
В нашем текущем подходе мы собираем Javascript по старинке, отдельно от компонентов React. Однако мы заметили что это не может долго масштабироваться, поэтому в конце концов нам придется найти способ использовать компоненты React в браузере, не влияя на производительность. Решения к которым мы присматриваемся включают:
Автор: puagardian
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/perevod-s-anglijskogo/253562
Ссылки в тексте:
[1] BBC News неоправданно медленный: https://wildlyinaccurate.com/redefining-the-bcc-news-core-experience/
[2] www.bbc.co.uk/news/0: http://www.bbc.co.uk/news/0
[3] Grandstand: https://github.com/bbc/grandstand
[4] page-assembly-as-a-service: https://wildlyinaccurate.com/how-we-assemble-web-pages-at-bbc-news/
[5] Preact: https://preactjs.com/
[6] stateless functional components: https://preactjs.com/guide/types-of-components#stateless-functional-components
[7] разделение кода: https://webpack.js.org/guides/code-splitting/
[8] Источник перевода: https://wildlyinaccurate.com/introducing-a-faster-bbc-news-front-page/
[9] Источник: https://habrahabr.ru/post/327274/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox
Нажмите здесь для печати.