Graceful degradation – что это?

Уже несколько раз столкнулась с понятием Graceful Degradation. Несколько раз в вакансиях и уже один раз на собеседовании. Естественно, решила выяснить что это. В рунете не так уж и много качественных материалов на эту тему. Хотя может я плохо искала. В общем, английские объяснения того, что это такое понравились мне значительно больше. Поэтому решила сделать пару переводов на эту тему – для себя, ну, и может кому-то ещё из начинающих или просто интересующихся пригодится.

Graceful degradation – дословно переводится как “изящная деградация”. Но по-русски этот термин звучит как “отказоустойчивость”, насколько я поняла.

Итак, перевод отсюда http://webdesign.about.com/od/webdesignglossary/g/graceful-degradation.htm

Определение:

Так как браузеры существуют столько же сколько и сам интернет, то всегда есть вероятность, что посетители вашего сайта просматривают его с помощью жутко старых браузеров, в которых не хватает многих особенностей присутствующих в современных браузерах. Graceful degradation – это стратегия управления дизайном веб-страниц в разных браузерах.

Веб-дизайн, который основан на принципе graceful degradation, изначально предназначен для просмотра в современных браузерах, тогда как в старых браузерах он будет отображаться с тем же функционалом и набором возможностей, но при этом с меньшим количеством особенностей и “украшателств” (например, могут быть отключены некоторые скрипты, которые “подвешивают” старые браузеры – прим. переводчика).

Основное отличие между принципами graceful degradation и progressive enhancement это то, откуда начинается дизайн. Если начинать верстку с самого старого, но всё ещё общеиспользуемого браузера, а после добавлять некоторые особенности для более новых версий, то это – progressive enhancement. Если же начинать создание сайта под новейшие браузеры, а потом просто “урезать” некоторые краеугольные особенности для более старых – это и есть принцип graceful degradation.

Graceful Degradation – это не провокация пользователей вроде “Скачайте самую последнюю версию браузера”

Одна из причин, почему многие современные дизайнеры (и веб-программисты – прим. переводчика) не любят этот подход, заключается в том, что часто дело оборачивается требованием к посетителям сайта закачать новейшую версию браузера, для того, чтобы страница заработала. Но это не graceful degradation. Если вы однажды столкнетесь с ситуацией вроде “скачайте браузер Х чтобы заработала вот эта штука”, то знайте, что разработчики покинули сферу graceful degradation и переместились в browser-centric (т.е. браузер получается важнее пользователей, можно провести аналогию с эгоцентризмом – прим. переводчика) дизайн.

Хорошее эмпирическое правило – соблюдать те же правила для graceful degradation, которые необходимы и для progressive enhancement:

Пишите валидный, соответствующий стандартам HTML код
Используйте внешние таблицы стилей
Подключайте внешние скрипты для создания интерактивности
Удостоверьтесь, что контент доступен даже для старых браузеров, которые не поддерживают CSS или JavaScript
В общем, главное в этом подходе то, что сайт, возможно и менее функционален в старых браузерах, но всё же работает.

source

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: