44
Progressive Enhancement Беспрепятственное использование новейших технологий Владимир Агафонкин Front-End Architect, Cogniance [email protected]

Progressive Enhancement: беспрепятственное использование новейших технологий

Embed Size (px)

DESCRIPTION

Slides from my talk about Progressive Enhancement on UXNext HTML5 Picnic in Kiev (held 11 October 2011). Inspired by "Progressive Enhancement 2.0" talk by Nicholas Zakas.

Citation preview

Page 1: Progressive Enhancement: беспрепятственное использование новейших технологий

Progressive EnhancementБеспрепятственное использование новейших технологий

Владимир Агафонкин

Front-End Architect, Cogniance

[email protected]

Page 2: Progressive Enhancement: беспрепятственное использование новейших технологий

Владимир Агафонкин• более 7 лет опыта во front-end-технологиях

• Front-End Architect в компании Cogniance

• разрабатываю JavaScript API для карт и геосервисов компании CloudMade

• активный участник open source, автор библиотеки для интерактивных карт Leaflet leaflet.cloudmade.com

• музыкант, пишу песни, пою и играю в рок-группе Обійми Дощу rain.in.ua

Page 3: Progressive Enhancement: беспрепятственное использование новейших технологий

очень многие разработчикине решаются использовать

HTML5/CSS3 в серьёзных проектах

Page 4: Progressive Enhancement: беспрепятственное использование новейших технологий

очень многие заказчикине решаются позволить

использовать HTML5/CSS3 в своих проектах

Page 5: Progressive Enhancement: беспрепятственное использование новейших технологий

«Это не позволит обеспечить полноценный user experience для

всех пользователей.»

Page 6: Progressive Enhancement: беспрепятственное использование новейших технологий

Сайт не отображается одинаково

в разных браузерах?

Page 7: Progressive Enhancement: беспрепятственное использование новейших технологий

«Непрофессионально!»

Page 8: Progressive Enhancement: беспрепятственное использование новейших технологий

«Показывает низкое качество работы!»

Page 9: Progressive Enhancement: беспрепятственное использование новейших технологий
Page 10: Progressive Enhancement: беспрепятственное использование новейших технологий

«Мы должны обеспечить

целостность бренда и отвечать ожиданиям

пользователя.»

Page 11: Progressive Enhancement: беспрепятственное использование новейших технологий

«Мы должны обеспечить

целостность бренда и отвечать ожиданиям

пользователя.»

Page 12: Progressive Enhancement: беспрепятственное использование новейших технологий
Page 13: Progressive Enhancement: беспрепятственное использование новейших технологий

• на разработку уходит слишком много времени (и нервов)

• вылезает слишком много багов• страницы медленно

загружаются и тормозят

Page 14: Progressive Enhancement: беспрепятственное использование новейших технологий

Но должен ли сайт одинаково выглядеть в

разных браузерах?

Page 15: Progressive Enhancement: беспрепятственное использование новейших технологий
Page 16: Progressive Enhancement: беспрепятственное использование новейших технологий

Но должен ли сайт одинаково выглядеть в

разных браузерах?

НЕТ!

Page 17: Progressive Enhancement: беспрепятственное использование новейших технологий

веб-сайты ↔

печатные издания?

Page 18: Progressive Enhancement: беспрепятственное использование новейших технологий

контент +

устройство для потребления=

медиа

Page 19: Progressive Enhancement: беспрепятственное использование новейших технологий

Статьи и фотографии+

Печатное издание

конечный вид продукта — под полным контролем

Page 20: Progressive Enhancement: беспрепятственное использование новейших технологий

контент для веб-сайта+

IE6-IE8, IE9+, Firefox, Chrome, Opera, iOS Safari, Android; разный размер экранов; …

устройства для потребления различаются,

имеют разные возможности

Page 21: Progressive Enhancement: беспрепятственное использование новейших технологий

фильмы и сериалы+

телевизоры: ч/б, цветные, Full HD; проекторы, мониторы, …

Page 22: Progressive Enhancement: беспрепятственное использование новейших технологий

как проблему решают в ТВ:

Page 23: Progressive Enhancement: беспрепятственное использование новейших технологий

как ее решают веб-разработчики:

Page 24: Progressive Enhancement: беспрепятственное использование новейших технологий

User experience сайта в браузере должен

диктоваться возможностями

последнего

Page 25: Progressive Enhancement: беспрепятственное использование новейших технологий

Сайты не должны выглядеть и работать

абсолютно одинаково во всех браузерах

Page 26: Progressive Enhancement: беспрепятственное использование новейших технологий

Главная задача дизайна:не мешать пользователю

воспринимать содержимое

Page 27: Progressive Enhancement: беспрепятственное использование новейших технологий

Важнейшее правило дизайна: фокусироваться на

содержимом, а не представлении

Page 28: Progressive Enhancement: беспрепятственное использование новейших технологий

Стандартный подход к разработке:

HTML, CSS, JavaScript вперемешку

Page 29: Progressive Enhancement: беспрепятственное использование новейших технологий

Стандартный подход к разработке:

еще одна мешанина HTML/CSS/JavaScript

HTML, CSS, JavaScript вперемешку

Page 30: Progressive Enhancement: беспрепятственное использование новейших технологий

Стандартный подход к разработке:

еще десяток костылей для IE6-8

костыль для старого FF

хак для Opera

костыль для IE8

костыль для IE7

альтернатива для IE6

еще одна мешанина HTML/CSS/JavaScript

HTML, CSS, JavaScript вперемешку

Page 31: Progressive Enhancement: беспрепятственное использование новейших технологий

Progressive Enhancement

семантичный HTML

(страница уже функциональна, отлично работает в старых мобильных браузерах,

отлично читается поисковиками)

Page 32: Progressive Enhancement: беспрепятственное использование новейших технологий

Progressive Enhancement

базовый CSS базовый JS

HTML

(страница теперь соответствует основному дизайну и хорошо работает во всех

браузерах)

Page 33: Progressive Enhancement: беспрепятственное использование новейших технологий

Progressive Enhancement

клёвый CSS клёвый JS

базовый CSS базовый JS

HTML

(теперь страница еще лучше выглядит в большинстве браузеров)

Page 34: Progressive Enhancement: беспрепятственное использование новейших технологий

Progressive Enhancement

офигенный CSS офигенный JS

клёвый CSS клёвый JS

базовый CSS базовый JS

HTML

(теперь страница в самых современных браузерах просто потрясает воображение)

Page 35: Progressive Enhancement: беспрепятственное использование новейших технологий

Progressive Enhancment и CSS3

• прямоугольные блоки → с закруглёнными уголками и тенью

• сплошной цвет заливки → градиентный, полупрозрачный

• обычные ховер-эффекты → плавные анимации

• обычный текст → текст с особым шрифтом, тенью/свечением

• текст в одну колонку → текст в несколько колонок

• обычный border → декоративный border из картинки

• статичное фоновое изображение → растянутое, комбинация изображений

• обычный layout → подстраивающийся под разрешение экрана

Page 36: Progressive Enhancement: беспрепятственное использование новейших технологий

Главная страница Twitter без стилей

Page 37: Progressive Enhancement: беспрепятственное использование новейших технологий

Главная страница Twitter в IE8

Page 38: Progressive Enhancement: беспрепятственное использование новейших технологий

Главная страница Twitter в Chrome

Page 39: Progressive Enhancement: беспрепятственное использование новейших технологий

Progressive Enhancment и JS

if (awesomeFeatureSupported) { // реализация офигенной штуки // заменяет обычную функциональность}

Page 40: Progressive Enhancement: беспрепятственное использование новейших технологий

GMail, форма отправки сообщения в IE

Page 41: Progressive Enhancement: беспрепятственное использование новейших технологий

GMail, форма отправки сообщения в FF и Chrome

при перетаскивании файла

Page 42: Progressive Enhancement: беспрепятственное использование новейших технологий

Progressive Enhancement

Получаемый таким подходом веб-сайт:

• абсолютно потрясающе работает в некоторых браузерах

• замечательно работает в большинстве браузеров

• просто хорошо работает в устаревших браузерах

• доступно работает в древнейших браузерах

• прекрасно читается и ранжируется поисковиками

• быстро разрабатывается, легко поддерживается

Page 43: Progressive Enhancement: беспрепятственное использование новейших технологий

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

заказчики считают деньги

Page 44: Progressive Enhancement: беспрепятственное использование новейших технологий

Вопросы?

Владимир Агафонкин[email protected]

skype: agafonkin@mourner