Вы можете не замечать, но в зависимости от своего любимого гаджета – компьютера или смартфона – вы теряете разное количество времени, глядя на пустой экран вместо желаемой веб-страницы. В этот момент девайс вовсю обрабатывает код JavaScript, которым насыщены нынешние интернет-порталы. Цена его обработки довольно высока и может достигать десятков потерянных минут в день для тех, кто не захотел доплатить несколько сотен долларов за топовый смартфон.
В чем виноват JavaScript
JavaScript (JS) – это язык программирования, который стал особенно популярным в интернете. С его помощью можно добавить интерактивности на веб-сайт. JavaScript делает возможным существование игр на веб-страницах, Google Docs, Microsoft Office, Web, сайтов с удобными фильтрами, которые обновляются сразу, анимацию и тому подобное. JS разработал соучредитель проекта Mozilla, Mozilla Foundation и Mozilla Corporation Брендан Эйх как дополнение к HTML.
Обратная сторона использования JavaScript – замедление интернета. В среднем веб-страница сейчас занимает на 100% больше, чем шесть лет назад. В среднем на 3G веб-страницы загружаются за 19 секунд, а на 4G – за 14 секунд. При этом 53% посетителей мобильных версий веб-сайтов оставят страницу, если она не откроется за три секунды. Такие данные озвучил Google в своем отчете «Потребность в мобильной скорости».
Как выглядит замедление
Когда юзер нажимает на ссылку, с точки зрения браузера это выглядит так:
Медианная веб-страница сегодня пересылает пользователю 350 килобайт сжатого кода JavaScript. В развернутом виде его объем достигает 1 МБ. Самые популярные сайты при этом отправляют почти десяток мегабайт JavaScript:
Это создает огромную нагрузку на процессор, который не в состоянии мгновенно обработать эти мегабайты кода JS и показать результат. Для пользователя это выглядит как пустой экран браузера или зависшая веб-страница. В любом случае нужно ждать. Если сайт передает всего 350 КБ кода Javascript, ждать на мобильном приходится более 14 секунд:
Вот время загрузки сайта news.google.com в мобильной сети в зависимости от класса смартфона:
Время в интерактивности (когда страница начнет реагировать на нажатия пользователя) для сайта Google News на смартфоне составляет 7 секунд для производительных аппаратов, 24 секунды для средних девайсов и 55 секунд для бюджетников.
Сайт Pinterest уменьшил объем JavaScript с 2,5 МБ до менее 200 КБ, что сократило время ожидания до интерактивности с 23 секунд до 5,6 секунд. Прибыль увеличилась на 44%, число зарегистрированных пользователей на 753%, количество юзеров за неделю выросло на 103%.
Портал AutoTrader уменьшил объем JavaScript на 56%, что снизило время к интерактивности на 50%. Газета Nikkei уменьшила JavaScript на 43%, что улучшило время к интерактивности на 14 секунд.
Как цена смартфона продлевает жизнь и почему интернет на ПК быстрее
Увидев, почему JavaScript такой тяжелый, становится понятно, почему при одинаковом интернет-канале сайты открываются быстрее на компьютерах и ноутбуках. Ведь у них значительно мощнее процессоры, по сравнению даже с топовыми смартфонами. Вот как выглядит время до полной готовности веб-страницы новостного портала CNN.com:
Производительный смартфон iPhone 8 обрабатывает скрипты за 4 секунды. Сравните это с 13 секундами для среднебюджетного аппарата и 36 секундами для бюджетника. При этом ноутбук на базе энергоэкономичного процессора Core-i7 6600U разбирает JavaScript за 2,8 секунды. Настольный ПК с полноценным процессором Core-i7 5930K делает это за 2 секунды.
По материалам: Medium