Старые браузеры задерживают развитие веба

Jul 17, 2012 16:11




Время обновить браузер

Веб-технологии типа HTML5 и CSS3 принесли с собой столько всего, что многие могут сказать: «Вот оно, будущее!». Звучит избито, я знаю. Ну как минимум, есть чувство, что будущее уже совсем близко, но на самом деле все не так радужно.

Когда мы используем новые фишки DOM, API HTML5 и CSS3, открывающиеся возможности поражают. Теперь создать веб-приложение стало намного проще, а хаков, плагинов, картинок и массивных скриптов нужно меньше. Это упрощает жизнь не только веб-разработчикам (для создания и поддержки этих проектов), но и простым пользователям, потому что приложения стали проще и быстрее.

Но есть одно препятствие, мешающее нашему “будущему” стать явью - старые браузеры. Давайте поговорим сегодня об этом, чтобы понять, в чем собственно проблема и что мы можем сделать для ее решения?


Процент использования Internet Explorer

По данным StatCounter, несмотря на бурный рост использования интернета с мобильных устройств, на сегодняшний день 90% пользователей используют настольные компьютеры для выхода в интернет. Есть и другие данные, показывающие чуть больший процент мобильных устройств, но факт остается фактом: люди пользуются интернетом в основном через браузеры на настольных компьютерах.
Какие это браузеры? Давайте взглянем на данные StatCounter за май 2012 года, уделив особое внимание Internet Explorer:



Статистика использования браузеров в настольных компьютерах, май 2012

Как видно (и разработчики особо рады этому) - процент использования Internet Explorer ниже 8-й версии очень низкий. IE6 настолько непопулярен, что в некоторых графиках он уже не показывается. Если эти данные совпадают со статистикой вашего проекта, вы можете отказаться от поддержки IE6 и IE7 и начать использовать функции, которые не поддерживают эти браузеры. Но что насчет IE8 и IE9?

Диаграмма показывает, что общее использование IE8 и IE9 по всему миру составляет примерно 30%. Но не будем слепо доверять этой статистике. Давайте сравним эти цифры со статистикой, взятой с двух других сайтов. Сначала данные Net Applications за апрель:



Статистика использования браузеров от Net Applications за апрель 2012 года

Их статистика показывает 38% пользователей, которые до сих пор на 6-8-х версиях IE, из которых две трети приходятся на IE8. IE9 добавляет еще 16%. Получается более 50% пользователей на IE6-9.

Теперь статистика StatOwl, тоже за апрель:



Статистика использования браузеров StatOwl за апрель 2012 года (полная версия)

Так же, как и Net Applications, StatOwl показывает более высокие показатели IE8 и IE9, чем StatCounter, примерно по 20% на каждую версию. Вместе с 8%, приходящимися на IE6 и IE7, получается почти 50%.

Разговоры о том, почему некоторая статистика показывает такие высокие значения для IE6-9, не прекращаются уже долгое время. Это выходит за пределы нашей статьи, но вы можете почитать об этом в следующих статьях (на английском языке):
Почему в этих дискуссиях участвует Internet Explorer 9?

IE9 - большой шаг вперед по сравнению с предыдущими версиями Internet Explorer. IE9 намного более стабильный и продвинутый браузер. Но ему уже год, причем у него нет автообновлений как у других популярных браузеров. Каждый месяц браузеры типа Chrome и Firefox автоматически обновляются, предоставляя новые функции, а IE9 устаревает.
В чем же проблема старых браузеров?

Кто-то может подумать: “В чем проблема? Используйте прогрессивные улучшения, так что пользователи на старых браузерах не будут знать, что они теряют«. Это справедливо для некоторых несложных функций CSS3 и HTML5, но серьезные сайты требуют более серьезных мер для обеспеченияс совместимости.
Давайте сперва взглянем на IE8. Чтобы иметь представление о том, как много функций не поддерживаются в IE8, вот вам их список:

  • Медиа запросы

  • opacity (без фильтров IE)

  • border-radius

  • box-shadow

  • цветовые схемы RGBA, HSL/HSLA

  • элементы HTML5 (не требующие html5shiv)

  • Data URL

  • getElementsByClassName

  • Переходы CSS



  • Междоменный обмен ресурсами

  • Множество CSS3 селекторов (:nth-child(), :target, :enabled и т.д.)

  • matchesSelector

  • Navigation Timing API (performance.timing)

  • Многослойный фон

  • background-clip, background-origin, background-size

  • Настоящее HTML5 видео/аудио без надоедающих вылетов

  • Шрифты WOFF

  • Поддержка SVG, inline SVG, SVG в фонах CSS

  • Геолокация

  • Отправление серверных событий

И в этом списке еще нет некоторых багов и проблем с производительностью в IE8. Конечно, это не значит, что в других браузерах все идеально, многие функции до сих пор еще в процессе отладки. Но большинство популярных браузеров тем не менее поддерживают вышеуказанные функции, чего нельзя сказать о IE8.
А что насчет IE9?

Проблемы не заканчиваются на восьмой версии Internet Explorer. Как было сказано выше, IE9 начинает отставать от других браузеров. Вот список функций, которых придется избегать разработчикам, чтобы поддерживать IE9:

  • text-shadow

  • Линейные и радиальные градиенты

  • CSS переходы

  • Анимация

  • Веб-сокеты

  • 3D трансформации

  • Гибкая разметка

  • Несколько колонок

  • Элемент

  • Фильтры SVG

  • Кэш приложений

  • pushState, replaceState

  • indexedDB

  • ECMAScript 5 Strict Mode

  • FileReader API

  • requestAnimationFrame

  • Аттрибут async для элементов  

  • Множество функций для форм HTML5

  • Встроенная валидация форм

  • Элемент


  • Web Workers

  • XMLHttpRequestLevel 2

  • Typed Arrays

  • matchMedia

  • Blob URLs

Как видно из двух списков, проблема старых браузеров действительно серьезна. Эти новые функции (которые все еще развиваются) имеют огромный потенциал для удивительных инноваций в вебе.
IE[x] - это новый IE6?

Тезис “IE[x] - это новый IE6″ обсуждался прежде, но сегодня стоит вновь к нему вернуться. На момент написания статьи IE9 (последняя стабильная версия Internet Explorer), не может быть установлена на Windows XP, а по данным StatCounter (ссылка), примерно 31% пользователей интернета используют эту систему. Так что пользователи Windows XP не смогут обновить браузер пока не обновят систему до более современной.
Надеюсь для ваших проектов статистика по старым браузерам более оптимистична. На самом деле самая важная статистика - ваша собственная. Также, данные показывают, что процент мирового использования IE6-8 возможно завышен из-зa стран с высокой численностью населения (ссылка).
Так или иначе, стоит признать, что процент использования IE8 и IE9 будет снижаться довольно медленно, также как было с IE6. Поэтому те из нас, кто создает сайты для широкой аудитории скорей всего будут долго ждать, чтобы внедрить новые функции.



Статистика использования IE6-9 является важным фактором для многих проектов и это связывает руки разработчикам
Microsoft предлагает выход. Или нет?

Не так давно Microsoft заявил, что пользователи XP, Vista и Windows 7 автоматически получат последнюю версию Internet Explorer, доступную для их системы.
Хоть это и лучше, чем ничего, все же это не идеальное решение. Такая же история была в 2008 году, тогда речь шла об “автообновлении” с IE6 до IE7. Но обновиться автоматически можно было только если в свойствах обновлений была установлена соответствующая опция. Однако по умолчанию в XP эта опция отключена, что можно считать одной из причин высокого процента IE6 в 2009 году (23% на январь 2009 года).
Подобным образом и сейчас пользователи получат новую версию Internet Explorer только в случае, если у них включены автоматические обновления. Так что, несмотря на то, что это хорошая новость, такое решение далеко от идеала.
Что делать пользователям старых браузеров?

У людей, использующих старые системы, есть на то свои причины, но они не могут обновить свой браузер. Что же им делать? Есть два варианта:

  • Не использовать Internet Explorer (ссылка). В отличие от IE9, все другие популярные браузеры (Chrome, Firefox, Safari и Opera) работают под Windows XP и выше.

  • Установить Chrome Frame. Его просто установить и он позволяет IE работать как Google Chrome.
Примечание насчет отслеживания IE с Chrome Frame

У некоторых пользователей со старыми версиями Internet Explorer может быть установлен Chrome Frame, однако в статистике они будут указаны как пользователи IE. Было бы здорово, если Chrome Frame отдельно отражался в статистике.
А вот в Google Analytics указывается “IE с Chrome Frame” как отдельный браузер. Разработчики могут обратиться к документации Chrome Frame для информации, как определить использование Chrome Frame.
Чем еще мы можем помочь?

Если у вас есть друзья или коллеги, использующие старые версии Internet Explorer (или любой другой старый браузер), помогите им обновиться на последнюю версию Chrome, Firefox, Safari или Opera. Покажите им сайт с CSS3 и HTML5 в современном браузере и сравните его с IE8. Другими словами докажите им, что их браузер устарел, не стабилен и тормозит.

Показывайте сообщение на сайте для людей со старыми браузерами

Еще один прием - показывать сообщение для пользователей, посещающих ваш сайт со старых браузеров типа IE8. Не думайте, что это слишком навязчиво. Несколько лет назад YouTube начал сворачивать поддержку многих старых браузеров. Такое сообщение показывалось тем, кто зашел на сайт с IE6:



Сообщение для пользователей устаревших браузеров на Youtube

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

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

Источник: smashingmagazine.com

Автор: Луи Лазарис (Louis Lazaris)

Перевод: ActualWEB

Опубликовано в блоге Actual WEB.

html5, ie6, css3, Статьи, прогресс, будущее, chrome frame, ie, chrome, internet explorer, firefox, google chrome, opera, аналитика, ie9, mozilla firefox, устаревший, браузеры, статистика, youtube

Previous post Next post
Up