Ви можете не помічати, але залежно від свого улюбленого гаджета – комп’ютера або смартфона – ви втрачаєте різну кількість часу, дивлячись на пустий екран замість бажаної веб-сторінки. У цей момент девайс щосили оброблює код 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