От автора: из-за того, что некоторые веб-технологии вроде HTML5 и CSS3 зашли уже очень далеко, многие скажут, что — с точки зрения веб-платформы — будущее происходит сейчас. Звучит как клише, знаю. По меньшей мере, чувствуется, что будущее начинает проявляться… но еще не совсем.
В применении свойств DOM, HTML5 API и последнего CSS3 открывающиеся возможности поразительны. Эти новые технологии помогают легко создавать веб-приложения, меньше полагаясь на хаки, плагины, изображения и раздутые скрипты. Так жизнь облегчается не только у веб-разработчиков (как при создании, так и поддержке проектов), но и у конечного пользователя, быстрее получающего мощное общее впечатление.
Но существует препятствие, мешающее нашему «будущему» по-настоящему стать сегодняшним днем. Что это? Старые браузеры. Давайте немного углубимся в эту тему, чтобы посмотреть, почему она является проблемой, и что мы можем сделать для ее решения.
Доля пользователей Internet Explorer’а
Согласно оценке StatCounter, даже при нынешнем буме мобильных устройств, использование настольных компьютеров-десктопов все еще бьет мобильные с большим отрывом. 90% интернет-активности в мире происходит на десктопах. Само собой, по некоторым данным доля мобильных устройств выше, чем текущие 10%, показанные StatCounter. Чтобы там ни было, факт остается фактом – множество людей заходят на наши вебсайты и в веб-приложения через браузеры настольных компьютеров.
Какие именно браузеры? Что же, давайте посмотрим исследования StatCounter’а касательно доли пользователей браузеров десктопов на май 2012г., особенно фокусируясь на Internet Explorer’е:
Как показано выше — к удовольствию всех разработчиков — мировая статистика использования версий Internet Explorer’а до IE8 очень низкая. IE6 настолько мало используется, что уже не показывается в диаграммах StatCounter’а. Если найдете такую же статистику для собственных проектов, то, в зависимости от общего количества трафика, можете прекратить поддержку IE6 и IE7 и начать пользоваться множеством свойств, которые эти браузеры не поддерживают. А как насчет IE8 и IE9?
Как ясно из изображения и ссылки вверху, общемировое использование IE8 и IE9 вместе составляет примерно 30%. Но это, может быть, не все. Сравните данные цифры с взятыми с двух других вебсайтов.
Во-первых, Net Applications, от апреля этого года:
Их статистика показывает, что колоссальные 38% пользователей все еще применяют IE6-8, и более двух третей из них — IE8. К тому же, IE9 занимает другие 16% доли. Это составляет более 50% пользователей IE6-9.
Теперь взглянем на доклад StatOwl от апреля 2012г.:
Как и Net Applications, StatOwl оценивает доли IE8 и IE9 значительно выше, чем StatCounter—на этот раз примерно по 20% для каждого. В сочетании с 8% для IE6 и IE7, это составляет почти 50% доли IE.
Спор о том, почему статистика применения этих разных браузеров показывает более высокие цифры для IE6-9 в последнее время стали последними новостями отрасли. Эти подробности, конечно, находятся вне сферы этой статьи, а для получения дополнительной информации можно пройти по нижеуказанным ссылкам:
Понимание данных о доле использования браузеров (Understanding Browser Usage Share Data) (блог команды Windows)
Microsoft говорит, что Chrome не опережал Internet Explorer в эти выходные (Microsoft says Chrome didn’t top Internet Explorer last weekend) (блоги Computerworld)
StatCounter Microsoft’у: Неверно, Chrome на этих выходных побил Internet Explorer (StatCounter to Microsoft: You’re wrong, Chrome beat Internet Explorer last weekend) (блоги Computerworld)
Почему это обсуждение включает IE9?
IE9 – огромный шаг вперед в сравнении с предыдущими версиями Internet Explorer’а. Но ему уже больше года, и он не обновляется автоматически, как это делают другие популярные браузеры.
Так, хотя IE9 – браузер, гораздо более стабильный и богатый свойствами, он уже начинает подавать признаки старости. С каждым прошедшим месяцем браузеры типа Chrome’а и Firefox’а продолжают автоматически воспроизводить новые свойства, а IE9 все больше отстает.
Почему так много шума вокруг проблемы старых браузеров?
Некоторые могут сказать: «Что за важность? Примените прогрессивное улучшение и просто оставьте для старых браузеров меньше впечатления и пользователи не узнают о том, что теряют». Это может оказаться верным по отношению к определенным свойствам CSS3 и HTML5, для которых легко можно гарантировать альтернативные варианты, и даже мелкие замены. Но с другими, более сложными свойствами, все не так уж легко.
Сначала давайте рассмотрим IE8. Чтобы понять, насколько многих свойств в нем не хватает, вот список того, что вы выигрываете как разработчик, когда перестаете поддерживать IE8:
Медиа-запросы
opacity (без фильтров IE)
border-radius
box-shadow
цвета RGBA, HSL/HSLA
элементы HTML5 (которым не нужен html5shiv)
URL’ы данных
getElementsByClassName
трансформации CSS
canvas
Cross¬origin Resource Sharing (кроссдоменные запросы)
Множество селекторов CSS3 (:nth-child(), :target, :enabled и т.д.)
matchesSelector
API с распределением времени навигации (performance.timing)
Множественные фоны
background-clip, background-origin, background-size
настоящее видео/аудио с помощью HTML5 и без неаккуратных альтернативных вариантов
шрифты WOFF
изображения SVG, встроенный SVG, SVG в CSS-фонах
геолокация
события Server Sent
Кроме того, в этом списке не принимается во внимание количество багов и проблем с производительностью, случающихся в IE8. Так что, при обдумывании всех вышеуказанных свойств, наряду с багами и вопросами производительности, большое количество применяющих IE8 пользователей становится огромным камнем преткновения на пути прогресса в Сети.
Конечно, нельзя сказать, что поддержка этих свойств в новых браузерах идеальна. Многие из них в спецификации постоянно меняются. Но очень высокий процент используемых браузеров помимо IE8 достаточно хорошо поддерживают все вышеперечисленное.
КАК НАСЧЕТ IE9?
Проблема, однако, на IE8 не заканчивается. Как уже упоминалось, IE9 точно так же начинает отставать от прочих браузеров. Вот список выигрышных свойств, приобретаемых, если вам не приходится поддерживать IE9:
text-shadow
Линейные и радиальные градиенты
Переходы CSS
Покадровая анимация
Сетевые сокеты
3D-трансформации
«Гибкая» разметка
Множественные колонки
Элемент datalist
Фильтры SVG
Кэш приложения
pushState, replaceState
indexedDB
полный режим ECMAScript 5
FileReader API
requestAnimationFrame
атрибут async для элементов script
множество свойств HTML5 для форм
валидация простых форм
элемент progress
Web Workers
XMLHttpRequestLevel 2
Типизированные массивы
matchMedia
Как видно из двух вышеприведенных списков, проблема старых браузеров достаточно значительна. Эти новые свойства (пусть все еще внедряемые) потенциально могут удивительно помочь дизайнерам и разработчикам добиться перемен и продвинуть web вперед.
Является ли IE[x] новым IE6?
Утверждение о том, что “IE[x] – это новый IE6″ уже обсуждалось ранее, но здесь оно заслуживает большего внимания. На момент написания этой статьи IE9 (последняя стабильная версия Internet Explorer’а), не может устанавливаться на Windows XP а, согласно StatCounter’у, примерно 31% Интернет-использования на десктопах приходится на эту операционную систему.
Так как большое количество пользователей IE8, по существу, находятся «в ловушке» XP, нет надежды на то, что они смогут обновиться до новой версии Internet Explorer’а без обновления своей операционной системы.
В ваших проектах, надеюсь, старые браузеры применяются гораздо меньше. Ведь единственная статистика, которая действительно что-то значит – это ваша собственная. Кроме того, на общемировую статистику, показывающую высокие цифры использования IE6-8, возможно, немного оказывают давление некоторые густонаселенные географические области. Как бы там ни было, статистика применения IE6-9 все еще является фактором при создании многих проектов и, таким образом, может удерживать разработчиков (из-за давления клиента или корпорации) от употребления многих новых свойств.
Дело здесь в том, что если статистика применения браузеров типа IE8 и IE9 сохранится почти так же надолго, как IE6, то те из нас, кто занимается построением вебсайтов и веб-приложений для большей и более разнообразной аудитории, могут не дождаться применения десятков новых свойств.
Статистика применения IE6–9 все еще является фактором для многих проектов и, таким образом, может сдерживать большое количество разработчиков.
Microsoft подает проблеск надежды — или нет?
Единственным положительным результатом в этой области является последнее объявление Microsoft о том, что пользователи XP, Vista и Windows 7 будут автоматически обновляться до последней версии Internet Explorer’а, доступной для их операционной системы.
К несчастью, хотя такая новость лучше, чем ничего, это не идеальное решение. Такое же заявление делалось в 2008г. касаемо так называемого «автообновления» IE6 до IE7. То обновление 2008г. могло произойти, только если система была установлена на автоматическое одобрение пакетов Update Rollup. Но установка по умолчанию в XP этому препятствует—так что тогда это едва ли произвело серьезное влияние на проблему IE6 (это видно, исходя из факта, что использование IE6 в январе 2009г. составило 23%).
Таким же образом, пользователи обновятся до новой версии Internet Explorer’а, только если включили автоматическое обновление посредством Windows Update. Кроме того, автообновление началось с января и только для пользователей, находящихся в определенных географических регионах. Так что снова, хотя это определенно хорошая новость, но не идеальное решение.
Какие реальные альтернативы доступны пользователям старых браузеров?
За исключением тех, у кого системы в целях безопасности или совместимости не могут обновлять браузеры, у всех, пользующихся IE8 (или ниже), имеется один вариант из двух для смягчения этой проблемы—даже если у них Windows XP. Это:
Не пользуйтесь Internet Explorer’ом; в отличие от IE9, все последние версии прочих основных браузеров (Chrome, Firefox, Safari и Opera) пойдут на Windows XP или более поздних системах.
Установите Chrome Frame; его легко установить и он заставляет IE функционировать как Google Chrome.
В условиях такого выбора большому количеству пользователей, все еще применяющих старые версии Internet Explorer’а, нет прощения. Теоретически все, у кого не заблокированная система, могут перейти на другой браузер кроме IE, или же установить Chrome Frame. Это наверняка бы свело долю применения старых браузеров до минимума, и позволило бы разработчикам ввести в обиход больше современных технологий.
ЗАМЕЧАНИЕ ПО ОТСЛЕЖИВАНИЮ IE С CHROME FRAME
Некоторые из пользователей, до сих пор применяющих старые версии Internet Explorer’а, могли установить Chrome Frame, но в статистике по использованию браузеров, к которой мы обращались ранее в этой статье, они все равно считаются Internet Explorer’ом. Хорошо было бы увидеть отраженной в этих приложениях статистику по Chrome Frame.
Google Analytics, однако, включает в качестве отдельного браузера «IE с Chrome Frame», а разработчики могут прочесть документацию по разработке Chrome Frame для получения информации о том, как отличить применение Chrome Frame.
Что еще можно сделать?
Если у вас есть друзья или коллеги, пользующиеся старой версией Internet Explorer’а (или любого другого старого браузера), помогите им обновиться до последней версии Chrome, Firefox, Safari или Opera. Можно даже показать им вебсайт с большим применением CSS3 или HTML5 в современном браузере и сравнить его с IE8.
Другими словами, докажите им, что их браузер – пример устаревшего, нестабильного, медленного софта. Можно даже немного развлечься, пытаясь показать им, почему браузеры «не IE» лучше.
ПОКАЗЫВАЙТЕ ПОЛЬЗОВАТЕЛЯМ СТАРЫХ БРАУЗЕРОВ СООБЩЕНИЕ
Еще можно показывать пользователям сообщение, если они посещают ваш вебсайт со старого браузера вроде IE8. Не считайте это слишком навязчивым. Пару лет назад YouTube начал постепенно прекращать поддержку многих старых браузеров. Сейчас для пользователей, посещающих вебсайт с IE6, демонстрируется приведенное внизу сообщение:
Вы могли бы отображать ненавязчивое, но заметное сообщение, чтобы поощрить пользователей к установке Chrome Frame и убедитесь, что включили необходимый код, разрешающий Chrome Frame на тех страницах, которые с него просматриваются. [Однако также обеспечьте возможность закрыть поле сообщения, чтобы пользователи, привязанные к заблокированной системе (и которым приходится пользоваться вашим вебсайтом), на самом деле смогли им воспользоваться. — Прим. Редактора]
Завтра: послание к неразработчикам
Большинство читающих эту статью, скорее всего, думают: «Ага, это все, конечно, хорошо, но ты не тех учишь, парень». Многие разработчики уже об этом многое знают. А еще мы в курсе, что разработчики и дизайнеры не принадлежат к использующим старые браузеры типа IE8 в повседневной жизни. Фактически, вам будет нелегко найти веб-разработчика, применяющего IE9.
Вот почему завтра Smashing Magazine опубликует специальный пост (статья опубликована сейчас), нацеленный на аудиторию пользователей, не являющихся дизайнерами или разработчиками, и которые не очень технически подкованы. Мы просим каждого поделиться этой статьей с как можно большим количеством людей, чтобы сделать все возможное до сведения статистики использования старых браузеров до возможного минимума.
Автор: Louis Lazaris
Источник: //www.smashingmagazine.com/
Редакция: Команда webformyself.
Комментарии (1)