Производительность, производительность, производительность

Боже мой, эта штука оооочень медленная! Как разработчик мобильных веб-приложений, это, вероятно, самые последние слова, которые вы когда-либо хотели бы услышать от одного из ваших пользователей. Поэтому вы должны тщательно продумать, как уменьшить и оптимизировать каждый байт и передачу сервера, чтобы сократить время ожидания пользователя. Нереально ожидать, что передача всегда будет осуществляться через сеть Wi-Fi, и вы должны знать, что 47% пользователей мобильного Интернета говорят, что они ожидают, что сайт загрузится на их мобильный телефон за 2 секунды или меньше.

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

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

Сжатие кода. Сжатие файлов JavaScript и CSS, в зависимости от объема имеющегося у вас кода, потенциально может оказать значительное влияние на производительность.

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

Сети доставки контента (CDN). Если вы планируете предоставлять большое количество видео, изображений, аудиофайлов или других типов мультимедиа, настоятельно рекомендуется использовать CDN. Некоторые из наиболее распространенных коммерческих CDN включают Amazon S3, Microsoft Windows Azure и MaxCDN. Преимущества использования CDN многочисленны и включают в себя:

  • Улучшена производительность загрузки. Использование ресурсов CDN позволяет распределять нагрузку, экономить пропускную способность и повышать производительность. Лучшие CDN предлагают более высокую доступность, меньшую задержку в сети и меньшую потерю пакетов. Более того, многие сети CDN предоставляют глобально распределенный выбор центров обработки данных, что позволяет осуществлять загрузку с сервера, расположенного ближе к местоположению пользователя (что приводит к меньшему количеству сетевых переходов и более быстрой загрузке).
  • Больше одновременных загрузок. Браузеры обычно ограничивают количество одновременных подключений к одному домену, после чего дополнительные загрузки блокируются до завершения одной из предыдущих загрузок. Вы часто можете увидеть это ограничение в действии при загрузке большого количества больших файлов с одного и того же сайта. Каждая дополнительная CDN (в другом домене) позволяет выполнять дополнительные одновременные загрузки.
  • Расширенная аналитика. Многие коммерческие CDN предоставляют отчеты об использовании, которые могут дополнять аналитику вашего собственного веб-сайта и могут предложить более точную количественную оценку просмотров и загрузок видео. GTmetrix, например, имеет отличный инструмент для создания отчетов о веб-сайтах для мониторинга и оптимизации источников, загруженных на ваш сайт.

Эта статья изначально была опубликована в блоге Toptal и с тех пор была отредактирована и обновлена ​​автором.