Статьи

Избежание искушений, которые наносят вред производительности сайта

SitePoint недавно опубликовал книгу « Lean Websites » Барбары Бермес — книгу, в которой представлены новейшие методы повышения производительности веб-страниц. В этой статье Барбара подробно описывает некоторые подводные камни в производительности, которые слишком часто застают нас врасплох.


Веб-производительность имеет значение. Исследования показали, что повышение производительности веб-сайта, например, времени загрузки страницы, может значительно увеличить вовлеченность пользователей и прибыль.

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

Искушение: давление, чтобы поддаться желанию легкого или немедленного удовольствия

Последствия того, чтобы поддаться искушению, часто не ощущаются до тех пор.

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

Использование готовых скриптов

Это типичный сценарий: вам нужно что-то добавить на веб-страницу, например, слайд-шоу. Таким образом, вы гуглите «веб-слайд-шоу» и получаете сотни результатов. Есть так много на выбор, все готово к работе и бесплатно. Почему бы не использовать его как есть, сэкономить время и получить оплату? Не все ли?

Мы часто забываем рассмотреть производительность выбранных нами скриптов. Код хорошо написан? Это оптимизировано? Нужны ли нам все функции, которые он содержит?

В главе 4 « Бережливых веб-сайтов» я изучаю, как различать копирование и вставку, а также копирование и утилизацию .

Красивые картинки и дизайны

Картинка стоит тысячи слов; и когда дело доходит до веб-производительности, картинка может стоить более тысячи строк кода с точки зрения веса страницы! Плохо оптимизированные изображения — самая большая причина вздутых сайтов.

Существуют некоторые особенности изображения, которые могут существенно повлиять на производительность веб-страницы.

Не каждому устройству нужно высокое разрешение

Нет необходимости показывать всем версию изображения с высоким разрешением, если она не нужна. Быть чувствительным к контексту, внимательным и уважительным. Не заполняйте свою страницу ненужными тяжелыми ресурсами, такими как изображения, только потому, что вы не знаете, что еще там разместить. Поверьте мне, никто из ваших пользователей на своем мобильном устройстве в роуминге не хочет загружать изображение сетчатки размером 2 МБ.

Изображения Стоимость пропускной способности

Изображения остаются самыми большими виновниками производительности. В настоящее время они занимают большую часть размеров и использования файлов в Интернете, как показано на диаграмме ниже:

Использование пропускной способности различных типов контента Использование пропускной способности различных типов контента

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

В моей книге « Lean Websites» я подробно рассмотрю способы оптимизации ваших изображений и других ресурсов сайта, чтобы обеспечить максимальную производительность вашего сайта, особенно на устройствах, подключенных к мобильным сетям.

Оптимизация производительности как часть развития

Когда время — деньги, всегда есть искушение срезать углы. Один из способов срезать углы — это откладывать вещи и никогда не заканчивать их. Тестирование и оптимизация производительности очень важны, но заманчиво отложить их на потом, а потом забыть о них.

Оптимизация производительности часто вообще не упоминается как часть общего жизненного цикла разработки программного обеспечения. Но, как говорит Илья Григорик, « производительность — это особенность », и ее не следует откладывать на второй план.

На Lean Websites обсуждается, как можно автоматизировать оптимизацию и сделать ее частью процесса развертывания с помощью некоторых простых в использовании и бесплатных инструментов.

Библиотеки и рамки

Кристиан Хейлманн, веб-евангелист Microsoft, называет это « смертью тысячи плагинов ». Попытаться использовать современные тенденции веб-разработки так просто, добавив еще один плагин или библиотеку. Иногда мы забываем, что все, что вы разместите на своей странице, будет стоить вам и вашему посетителю, когда речь заходит о производительности. Не позволяйте слишком многим плагинам раздувать ваш сайт. Хайльманн также призывает нас помнить, что «речь идет не о том, что вы можете добавить, а о том, что мы не можем отнять». Что-то, что нужно запомнить в следующий раз, когда вы захотите вставить другой плагин на свой сайт.

Такие библиотеки, как jQuery, Dojo и YUI, являются популярными инструментами, которые помогают разработчикам запускать проекты JavaScript, делая доступ к объектам и методам JavaScript быстрее и проще. Они упрощают процесс кодирования — но какой ценой?

Запрос Big Query Самые популярные библиотеки

Размер файла этих библиотек может сильно различаться, особенно если они не уменьшены, не сжаты и не сжаты. Сжатие и сжатие jQuery почти в восемь раз меньше, чем его передача по проводам без оптимизации (252 КБ без сжатия, 32 КБ с уменьшением и сжатием).

Важно решить, какую среду или библиотеку использовать в начале проекта. Обычно не имеет смысла использовать более одной библиотеки или более одного JavaScript-фреймворка MVC с проектом, поскольку разные библиотеки стремятся достичь одной и той же цели. И, конечно же, библиотеку следует загружать только один раз, хотя нередко можно видеть несколько экземпляров jQuery на одной странице:

Интернет сайт подсчитывать Загружена другая версия jQuery
www.reddit.com 2 1.7.2,1.7.1
www.washingtontimes.com 2 1.4.2,1.4.4
www.tudoseo.com 10 1.6.2,1.7.2,1.7.1,1.6.4,1.8.2,
1.4.2,1.10.1,1.4.4,1.9.0,1.8.3

Повторная загрузка jQuery, источник: пример Google Big Query в HTTP-архиве за июль 2014 года

Почему вы хотите загрузить более одной версии jQuery? Разве это не крик о хорошей уборке? Там определенно есть какой-то устаревший код, для которого может потребоваться более старая версия jQuery. Следовательно, соблазн достаточно велик, чтобы просто добавить новую версию в дополнение к использованию новых функций в jQuery. Это кажется большим количеством проблем с обслуживанием и наследством. Вместо этого потратьте некоторое время, изучите функциональность вашего сайта и определите, в какую версию конвертировать.

Хотя иногда может быть веская причина для включения нескольких JavaScript-фреймворков, могут быть и другие причины, которые следует проверить. Перекрытие и дублирование плагинов может происходить по разным причинам:

  • Команда разработчиков сайта не согласилась с общей структурой или библиотекой для использования.
  • Запутанный код, с которым разработчики должны работать. Иногда они обеспечиваются только изолированными включаемыми файлами, которые очень плохо видны для родительского кода. У них может возникнуть соблазн просто подключить предпочитаемую библиотеку и версию, если необходимо, чтобы продолжить свою работу.
  • Отсутствующие методы принуждения.
  • Беспечность или лень разработчиков.
  • Использование других веб-компонентов, включая те же фреймворки.

Lean Websites подробно рассматривает последствия использования библиотек и фреймворков и способы их оптимального использования без негативного влияния на производительность сайта.

Социальные сети, реклама и отслеживание

Если вы работаете в компании с отделом бизнес-аналитики, аналитики или маркетинга, высока вероятность того, что вас попросят включить все, что может помочь измерить успех компании.

Социальные сети, реклама и сценарии отслеживания — это большие соблазны для маркетологов и компаний лучше понять своих клиентов и добавить или найти другие источники дохода, такие как продажа рекламы. Но любой иностранный контент, который вы добавляете поверх своего собственного контента, особенно если он основан на JavaScript, увеличит вес и время загрузки вашей страницы.

Там нет ни одной социальной сети или инструмента отслеживания, который маркетинг не хотел бы попробовать. Lean Websites подробно рассматривает, как правильно и безопасно включать сторонние скрипты и плагины.

Полезное практическое правило заключается в том, что значение, получаемое при использовании стороннего сценария, должно быть больше, чем его производительность.

Вывод

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

В этой статье были затронуты лишь некоторые из вопросов, связанных с оптимизацией сайта — тема, которая, наконец, становится зрелой.

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

Надеемся, что это краткое введение разожгло ваш аппетит, чтобы узнать больше! Я хотел бы задать любые вопросы или комментарии, которые вы можете иметь.