Новости сегодня на DirectAdvert

Новости сегодня от Adwile

Как увеличить скорость загрузки PWA сайта в 3 раза. Часть 1. Сетевые ресурсы.

В прошлой статье мы поговорили про прогрессивные сайты, посмотрели кейсы как переход на pwa, а именно ускорение загрузки сайта для пользователей позволяет увеличивать конверсии и вовлеченность аудитории.

Давайте проверим как быстро грузится ваш сайт?

Проверить просто: открываем консоль хрома Command+Option+I (Mac) or Control+Shift+I (Windows, Linux), переходим на вкладку "Performance" и нажимаем кнопку "Start profiling and reload" и смотрим результат на вкладке Summary.

Для примера посмотрим на cackle.me.

У нас во время теста это 610 ms. В это время входит полная загрузка и отработка всех скриптов. Основное время занимает отработка скриптов аналитики, которые загружатся асинхронно и не влияют на то, как пользователь видит сайт.  Если ваш сайт не загрузился за 2000-3000 ms за минусом времени на работу  скриптов, влиящих на отображение страницы, то нужно проводить оптимизацию.  Также теперь попробуйте сделать замер с эмуляцией мобильных устройств с настройкой 3G и уменьшение мощности процессора в 4 раза.(шестеренка настроек справа devtools). Результат может быть в 2-3 раза хуже.

Как оптимизировать?

Процесс загрузки сайта состоит из нескольких основных этапов:

  • Network - получение ресурсов по сети
  • Script evaluation - выполнение скриптов на странице
  • Rendering - обработка html элементов браузером
  • Painting - отрисовка DOM элементов браузером

Каждый этап занимает какое-то время и мы посмотрим как его можно уменьшить.

Смотрим в отчет на Network.

На шкале Network показана загрузка всех ресурсов: html страницы, js, css, картинок. Задача уменьшить время загрузки этих ресурсов.

Какая оптимизация была раньше?

  • минифицировать js и css
  • убрать все скрипты в конец тега body
  • сжать картинки

Новые технологии оптимизации загрузки сайта

  • перейти с http/1 на http/2

На http/1 браузер имеет возможность создавать до 6 TCP соединений и внутри одного соединения идет только один запрос, в итоге браузер накапливает очередь запросов, а пользователю приходится ждать загрузки всех ресурсов. Приоритет загрузки ресурсов при http/1 определяет браузер и у каждого браузера своя стратегия определения приоритетов (какие-то сначала грузят css, шрифты, картинки, другие идут строго по html и загружают все последовательно)

Http/2 - вторая версия сетевого протокола http, при котором может передаваться множество запросов в одном соединении TCP. При HTTP/2 сервер может отправить содержимое, которое ещё не запрашивалось клиентом, выслать дополнительные файлы, которые нужны браузеру для отображения страниц, без необходимости парсинга браузером основной страницы. Также на сервере можно установить приоритет ресурсов, которые будут отдаваться сервером в первую очередь. Например, самое верхнее изображение или видео в header'e шаблона может отдаваться в первую очередь, т.к это то, что пользователь увидит в самом начале при заходе на страницу. Остальные изображения будут иметь меньший приоритет, наряду с какими-нибудь скриптами аналитики.

Поддержка браузерами: все браузеры поддерживают http/2 поверх tls. Т.е для работы http/2 сайт должен работать по https.

Поддержка серверами: практически все популярные хостинги поддерживают http/2, на выделенном сервере nginx последних версий также имеет такую поддержку. Практически все популярные сайты уже давно используют именно этот протокол.

Как проверить: Протокол запросов можно посмотреть на вкладке Network в шапке таблицы с запросами (необходимо подключить Protocol по правому клику мыши/двойному tap на маке).

Ускорение: в 2-3 раза. Можно нагуглить http/2 example и протестировать в своем браузере.

Для кого будет иметь максимальный эффект: для страниц с большим кол-вом картинок, библиотек, скриптов.

  • использовать Preload и Prefetch

Приоритеты запросов можно посмотреть на вкладке Network в шапке таблицы с запросами (необходимо подключить Priority по правому клику мыши/двойному tap на маке)

<link rel="preload"> информирует браузер, что ресурс необходим как можно скорее и поднимает приоритет загрузки(на вкладке Priority highest).

<link rel="preload" as="script" href="important_for_view.js">
<link rel="preload" as="style" href="critical.css">

Данные будут отправлены в cache страницы, который существует пока открыта данная страница. Данная директива работает практически во всех браузерах и особенно эффективна на http/1. При использовании http/2 запросы кэшируются в отдельном push cache и если сервер уже прислал ресурс, то повторного запроса(от preload) не будет.

<link rel="prefetch"> позволяет сделать предварительную загрузку страницы(на вкладке Priority highest), которую пользователь скорее всего будет использовать/переходить, чтобы задействовать свободное время сети. Самый простой пример - следующая страница пагинации.

<link rel="prefetch" href="next-pagination-page.html">

Данная фунция особенно актуальна на медленной интернет-соединение на мобильном. Т.е пока пользователь просматривает текущую страницу идет подрузка следующих возможных страниц в cache и пользователь мгновенно получает страницу при след.переходе.

  • разделить код

Разделение кода: идея в том, чтобы загружать только те ресурсы, которые необходимы для отображения текущей страницы, а не всего сайта. Раньше при использовании http/1 все js и css соединялись в bundle и отдавались клиенту единым файлом. Это было целесообразно из-за ограничений http/1 по кол-ву запросов. Сейчас, когда у нас есть возможность использовать http/2 мы можем разделить ресурсы и загружать только то, что нужно только для текущей страницы. Для загрузки только нужных ресурсов можно воспользоваться webpack или просто разделите ваши css и js на небольшие файлы и включайте их только там, где они используются.

Ускорение загрузки сайта: данный метод позволяет в несколько раз уменьшить размер подгружаемых ресурсов, и соответственно и скорость загрузки сайта в целом.

В следующей статье мы будем оптимизировать работу ui библитек.

Ставьте лайк в ВК и делайте репост в Twitter  и FB, если вам понравилась статья, и вы хотите продолжения.

Читайте на 123ru.net

Другие проекты от 123ru.net



Архангельск

Прокуратура проверяет информацию о пропаже вертолета в Архангельской области



Здоровье

Новосибирские хирурги провели сложную операцию по удалению опухоли позвоночника






Новости 24 часа

Подведены итоги конкурса «Мы верим твердо в героев спорта»



Game News

Ранняя версия Mini Empire: Hero Never Cry с русским языком доступна в Google Play



Москва

Подведены итоги конкурса «Мы верим твердо в героев спорта»



News Every Day

Every time we go on holiday my husband ogles other women on the beach



Происшествия

В Подмосковье росгвардейцы задержали гражданина, находящегося в розыске.



Москва

Разные победы. Разные подходы



Песня

Авторская песня. Радио Авторской Песни. Авторская песня барды.



Москва

РИА Новости: Суд установил ущерб по делу о поставках питания Минобороны



ATP

Пекин (ATP). 2-й круг. Котов сыграет с Коболли, Сафиуллин – с Синнером, Медведев – с Маннарино



Москва

Вильфанд: сентябрь для Москвы и Петербурга будет самым теплым в истории



Певец

Певец Алексей Глызин призвал молиться о здоровье госпитализированного Добрынина



Симферополь

В районе Симферополя появится необычный жилой квартал



Москва

Подведены итоги конкурса «Мы верим твердо в героев спорта»



Москва

«В ближайшие регионы»: Собянин анонсировал продление МЦД до четырёх областей



Москва

Терапевт Кондрахин посоветовал идти к врачу при наличии болей в грудной клетке



103news.com — быстрее, чем Я..., самые свежие и актуальные новости Вашего города — каждый день, каждый час с ежеминутным обновлением! Мгновенная публикация на языке оригинала, без модерации и без купюр в разделе Пользователи сайта 103news.com.

Как добавить свои новости в наши трансляции? Очень просто. Достаточно отправить заявку на наш электронный адрес mail@29ru.net с указанием адреса Вашей ленты новостей в формате RSS или подать заявку на включение Вашего сайта в наш каталог через форму. После модерации заявки в течении 24 часов Ваша лента новостей начнёт транслироваться в разделе Вашего города. Все новости в нашей ленте новостей отсортированы поминутно по времени публикации, которое указано напротив каждой новости справа также как и прямая ссылка на источник информации. Если у Вас есть интересные фото Вашего города или других населённых пунктов Вашего региона мы также готовы опубликовать их в разделе Вашего города в нашем каталоге региональных сайтов, который на сегодняшний день является самым большим региональным ресурсом, охватывающим все города не только России и Украины, но ещё и Белоруссии и Абхазии. Прислать фото можно здесь. Оперативно разместить свою новость в Вашем городе можно самостоятельно через форму.

Другие популярные новости дня сегодня


Новости 24/7 Все города России





Топ 10 новостей последнего часа




Новости России

Ученые рассказали, чем опасен постоянный стресс для организма

После показа сахалинским школьникам видео с реальным абортом начата проверка

Актер Евгений Воловенко о дебоше в самолете: «Выпил не много, но эмоциональное напряжение вылилось в критическую точку»

Владислав Овчинский: Более 165 тысяч человек воспользовались цифровой картой строек


Москва

Подведены итоги конкурса «Мы верим твердо в героев спорта»






Rss.plus

В Москве ежегодно состоялся юбилейный, всероссийский, патриотический гала-концерт «Проза и поэзия» «Россия - семья семей»

Можно ли перевестись из одной автошколы в другую в процессе обучения?

Подведены итоги конкурса «Мы верим твердо в героев спорта»

Подведены итоги конкурса «Мы верим твердо в героев спорта»

Moscow.media
Москва

Собянин: МЦД продлят до Калужской, Смоленской, Тульской и Ярославской областей



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Кристина Орбакайте

Эксперт оценил стоимость выставленной на продажу недвижимости Орбакайте




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Глава ВФХГ Винер заявила, что получает 168 тысяч рублей в месяц

Подведены итоги конкурса «Мы верим твердо в героев спорта»

Подведены итоги конкурса «Мы верим твердо в героев спорта»


ATP

Пекин (ATP). 2-й круг. Котов сыграет с Коболли, Сафиуллин – с Синнером, Медведев – с Маннарино



Новости Крыма на Sevpoisk.ru


Москва

Рекламное агентство внука Пугачевой Дени три года работает в убыток



Частные объявления в Вашем городе, в Вашем регионе и в России