- PVSM.RU - https://www.pvsm.ru -

5G — технология, которая, видимо, замедлит веб

Технология 5G [1] — это уже реальность. Соответствующий значок начинает появляться в верхних частях экранов телефонов по всему миру. Если вы подключены к 5G-сети, то вы могли заметить, что такая сеть не кажется намного более быстрой, чем 4G-сеть. Я вполне это понимаю. Говорят, что сейчас, в дни становления новых сетей, настоящим 5G-скоростям мешает процесс миграции инфраструктуры. Но после того как технология 5G, во всех смыслах, повзрослеет, ожидается, что скорость сетей очень сильно возрастёт. Так, по некоторым сведениям, средние скорости загрузки данных в 5G-сетях в 2019 году могут составить от 100 Мбит до 1 Гбит в секунду [2]. Это означает, что можно будет загрузить всю дискографию Friends, а потом — торжественно перетащить её мышью в корзину, сделав это примерно за то же время, которое сейчас занимает загрузка обычной веб-страницы. Я не пытаюсь сейчас выходить на какие-то конкретные цифры. Я говорю лишь о том, что, возможно, работа в 5G сетях может выглядеть именно так. Такое будущее иначе как «прекрасным» и не назовёшь.

5G — технология, которая, видимо, замедлит веб - 1 [3]

Да, не стоит забывать о том, что в 5G-сетях улучшится не только полоса пропускания. Ожидается и уменьшение сетевых задержек. А задержки — это одно из давно и печально известных узких мест производительности веба. Снижение задержек означает, что время, которое тратится на подключение к веб-сайту, может, по ощущениям пользователей, упасть практически до нуля. Опять же — выглядит это просто замечательно.

Получается, что качество сетей уже очень скоро значительно вырастет. И это, похоже, должно решить проблемы скорости современного веба. Так?

Должно-то оно должно, но автор материала, перевод которого мы сегодня публикуем, не ждёт, что 5G действительно ускорит веб. Как минимум — ускорит, но далеко не сразу. Он полагает, что если современные тренды веб-разработки не изменятся, то широкое внедрение 5G-сетей приведёт к тому, что среднестатистическому пользователю будет работаться в вебе не лучше, а хуже.

Хуже? Да как же это?

Более быстрые сети должны решить проблемы скорости загрузки сайтов, но до сих пор рост сетевых скоростей непреднамеренно оказывал на веб негативное воздействие. Интересно — почему? Дело тут в следующем: исторически сложилось так, что ускорение сетей позволяет разработчикам отправлять посетителям сайтов больше кода. В частности — речь идёт о JavaScript-коде.

С 2011 года по 2019 год уровень 4G-покрытия [4] в мире вырос с 5% до 79%. За то же самое время медианное значение среднего объёма JavaScript-кода, передаваемого на мобильные устройства, выросло на 611% [5] — c 52 Кб, до 372.9 Кб. Конечно, объёмы JS-кода выросли не только из-за роста скорости сетей. Этому способствовали и многие другие факторы. Сайты, безусловно, за это время стали гораздо более интерактивными. Это вполне могло привести к росту объёма их JS-составляющей. Кроме того, распространение получил отзывчивый дизайн. В результате множество сайтов начало отправлять один и тот же JavaScript-бандл на все устройства, на которых эти сайты просматривают. Правда, тут стоит уточнить то, что настольные сайты в 2011 году отправляли клиентам, в среднем, лишь на 50 Кб больше JS-кода, чем их мобильные коллеги. В целом же можно отметить, что шаблоны разработки интерфейсов с 2011 года изменились не слишком сильно. Например, веб-сайт Boston Globe, в разработке которого мы участвовали, создан с большим вниманием к удобству работы с ним на самых разных устройствах. Он запущен в 2010 году. Интерфейсы новостных сайтов до сих пор устроены практически точно так же. И наконец, вышеозначенный тренд, по последним данным, продолжается. А именно, за последнюю пару лет средний объём JS-кода, передаваемого клиентам, вырос более чем на 50% [5].

А теперь, прежде чем мы начнём винить во всём JavaScript-фреймворки, надо отметить, что возникает ощущение того, что рост объёмов JS-кода не полностью привязан к возможностям интерфейсов сайтов. Тут следует обратить внимание на то, что большая часть роста объёма кода связана с ростом использования сторонних скриптов на 706% [6]. Несомненно, запросы на загрузку сторонних скриптов могут относиться к JS-фреймворкам, но чаще всего это — нечто иное. Это может быть код трекеров, A/B-библиотек, скриптов для персонализации. Это может быть реклама, чат-боты… И всё это, в свою очередь, делает запросы на загрузку дополнительных скриптов, а эти дополнительные скрипты ещё что-то загружают. Перед нами, так сказать, безудержное веселье. Но у такого веселья обычно бывают нехорошие последствия.

Итак, по мере того, как росла пропускная способность сетей, увеличивался и объём JS-кода, используемого на веб-страницах. Но и тут можно подумать, что если весь этот код загружается достаточно быстро, то рост его объёма — явление сравнительно безобидное. Правда это, к сожалению, не так. Если сравнить JavaScript-код с другими видами ресурсов, используемых при создании веб-страниц, то оказывается, что JavaScript — это очень дорогое удовольствие. Цена JavaScript гораздо выше, чем цена других материалов.

«На моём телефоне всё выглядит хорошо»

Удобства разработчиков очень легко могут завести веб-индустрию на кривую дорожку.

На среднем мобильном устройстве, из таких, которые всё ещё используются, разбор 200 Кб JavaScript-кода (сжатого для ускорения передачи) может занять 6 секунд или даже больше [7]. И это — уже после того, как код будет загружен по сети. Прежде чем вы решите, что 200 Кб — это нереально много для некоего сайта, предлагаю вспомнить о том, что просмотр современного сайта означает, что пользователь, в среднем, загрузит почти в два раза больший [5] объём JS-кода. При этом в процессе разбора данного кода страница может быть видимой, но не реагирующей на воздействия. А может быть и так, что страница будет совершенно пустой (это — если скрипт к странице подключён с использованием традиционного подхода, то есть так, что его обработка блокирует рендеринг страницы). Недействующая страница и пустая страница — это одинаково плохо, но особое беспокойство вызывает то, что многие из тех, кто занят веб-разработкой, сами подобных проблем даже не замечают.

Среднее мобильное устройство — это не новейший дорогущий iPhone с тремя камерами. Среднее устройство, даже в США, это телефон из разряда бестселлеров, который стоит порядка $130. Это вполне может быть и iPhone, но — далеко не самый новый. Скорее всего, это будет Android-телефон среднего уровня, содержащий сравнительно слабую аппаратную начинку. Да что там говорить — вот [8] телефоны-бестселлеры с Amazon. В момент написания этого материала на третьем месте среди них было устройство стоимостью $59.

Если люди с такими телефонами даже и будут пользоваться новыми быстрыми сетями, то их устройства окажутся буквально «задушенными» теми объёмами кода, которые приходится обрабатывать для показа веб-страниц. А это сведёт на нет те потенциальные улучшения в скорости загрузки материалов, которые способны дать 5G-сети.

Как быть тем, у кого нет 5G-подключений?

Организация распространения 5G-сетей требует больших инфраструктурных изменений. Первые кандидаты на появление таких сетей — это развитые страны и высокотехнологичные города. В развивающихся странах и в сельской местности эти сети вряд ли появятся так же быстро. Это означает, что люди, живущие там, где нет 5G-сетей, в современных условиях вполне могут не только работать с веб-страницами на не самых быстрых устройствах, но и загружать код этих страниц, объём которого всё растёт, пользуясь старыми 3G и 2G-сетями. Таким людям от введения в строй 5G-сетей будет плохо вдвойне.

Что делать?

Ответственность за решение этой проблемы лежит на индустрии веб-разработки, на каждом из нас. Конечно, нам нужно улучшать приоритизацию доставки клиентам содержимого веб-страниц, но нам надо ещё и прекратить включать в состав проектов столь огромные объёмы JavaScript-кода. Необходимо анализировать используемые скрипты, регулярно изучать зависимости проектов. Многие из таких зависимостей могут оказаться заброшенными их разработчиками, или представлять собой проекты с недолгим сроком жизни. Возможно, мы даже можем воспользоваться тут опытом The Telegraph [9], удалив старые сторонние скрипты и посмотрев, пожалуется ли кто-нибудь на какие-либо проблемы. Мы можем изучить нашу зависимость от отслеживания действий пользователя и от персонализации рекламы. Возможно, мы, так же, как The New York Times [10], выясним, что показ пользователям обычных неперсонализированных рекламных объявлений может увеличить [10] наш доход от рекламы. А если так и будет — стоит избавиться от ставших ненужными рекламных скриптов. Можно, для наблюдения за тем, чтобы показатели производительности веб-проектов не выходили бы за некие границы, пользоваться инструментами вроде Calibre [11] или SpeedCurve [12]. При этом стоит стремиться к тому, чтобы о производительности проекта заботился бы каждый, кто имеет к нему отношение, чтобы каждый знал бы о том, как его действие или бездействие влияет на проект.

Самое главное — нам нужно сделать так, чтобы у менеджеров, владельцев сайтов, разработчиков, дизайнеров, да абсолютно у всех, был бы доступ к телефонам среднего класса, и была бы возможность регулярно тестировать наши сайты на таких телефонах. А ещё лучше — если подобные телефоны будут подключены к предоплаченному или ограниченному тарифному плану. Это позволит узнать о том, сколько времени понадобится на то, чтобы выбрать лимит трафика в мире 5G-сетей. Если все, имеющие отношение к некоему сайту, будут знать о том, как его производительность выглядит в реальном мире, это благотворно отразится на всех посетителях сайта. В том числе, кстати, на тех, кто пользуется быстрыми современными телефонами.

Повышение качества сетей означает, что у сообщества разработчиков есть огромная возможность улучшить создаваемое ими веб-пространство. Воспользуются ли они этой возможностью или нет — зависит только от них.

Уважаемые читатели! Как вы думаете, действительно ли широкое распространение 5G-сетей способно замедлить веб?

Автор: ru_vds

Источник [13]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/331383

Ссылки в тексте:

[1] 5G: https://www.speedtest.net/ookla-5g-map

[2] от 100 Мбит до 1 Гбит в секунду: https://www.quora.com/How-fast-is-a-5G-network

[3] Image: https://habr.com/ru/company/ruvds/blog/468407/

[4] 4G-покрытия: https://www.ericsson.com/en/mobility-report/mobility-visualizer?f=16&ft=2&r=1&t=2,19&s=14&u=4&y=2011,2019&c=6

[5] 611%: https://httparchive.org/reports/page-weight#bytesJs

[6] 706%: https://speedcurve.com/blog/javascript-growth/

[7] 6 секунд или даже больше: https://medium.com/@addyosmani/the-cost-of-javascript-in-2018-7d8950fbb5d4

[8] вот: https://www.amazon.com/Best-Sellers-Cell-Phones-Accessories-Unlocked/zgbs/wireless/2407749011/

[9] опытом The Telegraph: https://medium.com/the-telegraph-engineering/improving-third-party-web-performance-at-the-telegraph-a0a1000be5

[10] The New York Times: https://digiday.com/media/gumgumtest-new-york-times-gdpr-cut-off-ad-exchanges-europe-ad-revenue/

[11] Calibre: https://calibreapp.com/

[12] SpeedCurve: https://speedcurve.com/

[13] Источник: https://habr.com/ru/post/468407/?utm_source=habrahabr&utm_medium=rss&utm_campaign=468407