SYSTEM ATLASЗагрузка материала

Progressive Enhancement

Progressive Enhancement

Базовая функциональность работает везде, улучшения добавляются слоями.

Простыми словами

Страница сначала должна выполнять основную задачу на базовом уровне - например, каталог открывается как обычный HTML со ссылками и формой. Затем браузер может добавить быстрые фильтры, анимацию и другие удобства. Если дополнительный JavaScript не загрузится, пользователь всё равно сможет сделать главное.

Пример от @Vibeclakr

Пример при разработке

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

Это редакционный пример применения, а не часть определения или доказательство концепции.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Решение принимают без учета механизма «Progressive Enhancement», оценивая только ближайший эффект.

Системный подход

Перед изменением проверяют, как «Progressive Enhancement» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

«Progressive Enhancement» объясняет только часть происходящего в области «Веб-архитектура». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Aaron Gustafson. Understanding Progressive Enhancement. 2008.

Первоисточник