Сначала мобильные!

Эффективность.

Мобильными устройствами мы готовы пользоваться всегда и везде, но мобильные сети зачастую не дают нам этого делать. Даже при наличии сети путешествие по Интернету может оказаться достаточно дорогостоящим удовольствием (это зависит от тарифа), соединение — не всегда стабильным, скорость соединения — невысокой, а значит, придется нервничать в ожидании загрузки очередной страницы.

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

Если вы будете управлять размерами и количеством отправляемых на устройства файлов (то есть HTTP-запросами), ваши пользователи смогут загружать меньшие объемы данных, а значит, не только быстрее получать всю необходимую информацию, но и существенно экономить на оплате счетов. Ни для кого не секрет, что из-за задержек с передачей сигнала каждый HTTP-запрос, сделанный с мобильных устройств, способен изрядно ударять по карману. Поэтому убедитесь, что вы:

• Использовали «спрайты[4]» для группировки нескольких изображений в единый закодированный файл. (Главное, чтобы при раскодировании он не оказался слишком большим!).

• Объединили и максимально уменьшили размер файлов CSS и JavaScript.

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

• Ограничили использование CSS-сеток.

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

• По возможности использовали такие HTML5-функ: ции современных браузеров, как Canvas (http://bkaprt.com/ mf/29) и AppCache (http://bkaprt.com/mf/30).

И моя любимая рекомендация: используйте CSS3 для скругленных углов, градиентов, теней текста и HTML-объектов.

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

Однако не стоит перегружать сайт тяжелыми CSS3-эффектами, так как это может снизить результативность работы браузера.

Скорость важна не только для мобильных сайтов. Как показывают результаты тестов, проведенных Amazon, Yahoo! Microsoft и многими другими компаниями, даже небольшая задержка (100 миллисекунд) при работе в Сети может заставить пользователя покинуть сайт. Многолетние исследования компании Google показали, что низкая эффективность имеет отсроченный эффект: даже после того, как проблема задержки была решена, посетители в течение пяти недель менее активно заходили на такие сайты (http://bkaprt.com/mf/31). Так что эффективность имеет значение и для стационарных компьютеров.

Если вы следуете принципу «сначала мобильные!» и разрабатываете веб-приложения с учетом нестабильности мобильных сетей, то на обычных компьютерах они будут загружаться с поразительной скоростью. Это наверняка понравится вашим клиентам — вот вам и дополнительные преимущества такого подхода.