progressive enhancement: беспрепятственное использование...

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

Upload: vladimir-agafonkin

Post on 22-Nov-2014

1.958 views

Category:

Technology


1 download

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.

TRANSCRIPT

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