Старі браузери тягнуть Веб тому

37

Від автора: з-за того, що деякі веб-технології начебто 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-color hsla

елементи HTML5 (яким не потрібен html5shiv)

ДО и даних

getElementsByClassName

трансформації CSS

canvas

Crossorigin 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 опублікує спеціальний пост (стаття опублікована зараз), націлений на аудиторію користувачів, які не є дизайнерами або розробниками, і які не дуже технічно підковані. Ми просимо кожного поділитися цією статтею з якомога більшою кількістю людей, щоб зробити все можливе до відома статистики використання старих браузерів до можливого мінімуму.