Один из ключевых спикеров предстоящей конференции CSSMinskJS Гарри Робертс рассказал dev.by о том, откуда возникают проблемы с производительностью веб-приложений и как бороться с ними.
Почему эффективность остаётся такой важной темой веб-разработки уже долгие годы?
Хорошая производительность имеет много преимуществ в разных областях разработки: она помогает компаниям сохранять и зарабатывать деньги и делает пользователей более счастливыми. Несмотря на это, скорости по-прежнему не хватает. А с учётом того, как много растущих рынков появится в онлайне в ближайшие 5-10 лет, работы предстоит очень много.
Какие три проекта вы можете привести в качестве образцовых примеров плохой производительности?
- Сторонние разработчики
Большая часть проблем с эффективностью возникает из-за кода, который контролируют сторонние разработчики. В таких случаях бороться с медленной работой компонентов приложения бывает очень сложно. - Нехватка приоритизации
Многие бизнесы — хотя и знают, как важна эффективность работы приложений — концентрируют внимание на других вещах. А это значит, что до решения проблем со скоростью никогда не доходят руки. - Недостаток ответственности
Кроме этого, многие компании и команды считают, что обеспечение быстрой загрузки веб-проекта — исключительно задача программистов. Они не понимают, что проблема касается каждого. Любой руководитель может влиять на это, ведь именно они принимают решения: от внедрения неудачного дизайна до перегрузки сайта скриптами отслеживания для маркетинговых целей.
Что нужно сделать в первую очередь при начале работы над эффективностью загрузки?
Для начала нужно определить, что именно и по какой причине работает медленно.
Жизненно важно разобраться в текущей ситуации, прежде чем переходить к любым видам оптимизации. Если этого не сделать, будет непонятно, на что нужно обратить первоочередное внимание.
Есть ли разница между процессом улучшения эффективности загрузки для десктоп- и мобильных версий? Не сложнее ли заниматься ускорением мобильных версий сайтов?
Некоторые отличия есть, но, как всегда, важно не вводить искусственные ограничения для «десктопа» и «мобайла». При подключениях с большим временем отклика (обычно это именно мобильная связь) нужно ориентироваться на сглаживание «острых углов» и снижение количества «путешествий» запроса, нужных для загрузки страницы. Также мобильные версии, как правило, запускаются на не самых производительных устройствах, и это тоже стоит учитывать. Нужно помнить и про необычные (но частые в использовании) сочетания: высокопроизводительный ноутбук может быть подключён к сети через нестабильную мобильную связь.
Чего стоит ожидать в ближайшие годы в области веб-перформанса?
Я уверен, что «прогрессивные веб-приложения» (PWA, progressive web apps) станут очень важны и популярны. Учитывая намерения Apple внедрить ServiceWorker, это должно быть очень важно.
Узнать подробнее о подходе Робертса к решению проблем загрузки можно на открывающем докладе конференции CSSMinskJS 10 сентября.
Источник: dev.by