В чем разница между прогрессивным улучшением и изящной деградацией?

Я смущен тем, что разница между Постепенное Повышение и Изящные Деградации. Мне кажется, это одно и то же.

не могли бы вы объяснить мне разницу между двумя и в какой ситуации я бы использовать один над другим?

8 ответов


Они почти то же самое, но они отличаются в контексте.

существует класс браузеров под названием "браузеры класса A". Это ваши типичные члены аудитории ,которые (вероятно) составляют большинство ваших посетителей. Вы начнете с базового уровня этих пользователей. Назовем это лучшие современные практики.

Если вы хотите увеличить опыт для тех, кто случайно использует FF3.6 или Safari 4 или какой-то другой разработчик whizbang nightly webkit whathaveyou, вы хотите сделать удивительные вещи, как

  • закругленные углы через css
  • затененный текст (но, пожалуйста, Боже, не слишком много)
  • drop shadows (см. выше в скобках)

Это делает ваш сайт пипец ищет, но не сломает его. Это постепенное повышение. Охватывая будущее с точки зрения лучшие практики.

с другой стороны, ваш нишевый сайт Nintendo привлекает достаточное количество пользователей IE5. Бедный ты, но ты также хочешь убедиться, что они продолжают возвращаться. Вы можете предоставить альтернативу вашему поведению ajax, включив сценарий ajax во внешний файл, и если их JS не включен, возможно, Ваши ссылки обновляют всю страницу. Так далее. С точки зрения лучшие современные практики, вы убедитесь, что некоторые исторические рынки обслуживаются некоторое подобие функционального сайта. Это изящный деградация.

Они в основном идентичны, но отличаются с точки зрения приоритета для многих команд разработчиков: PE довольно приятно, если у вас есть время, но GD часто необходимые


Если ваш сайт выглядит одинаково хорошо во всех браузерах, но некоторые браузеры получают, скажем, танцующих пони, потому что они поддерживают танцующих пони, то это прогрессивное улучшение. Он работает во всех браузерах, но некоторые браузеры получают что-то дополнительное. Обычно этот термин применяется к определенным функциям Javascript, которые могут повысить удобство использования за пределами "raw HTML".

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

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


направление от выбранного базовый для каждого понятия разные.

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

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

Я думаю, что можно было бы использовать обе концепции, если позволит время/бюджет. Если нет, то предпочтительнее изящная деградация.


Извините, что воскрешаю что-то, что старше года, но чувствовал, что могу внести свой вклад, в некотором роде, мое собственное мнение по этому вопросу.

хотя я согласен с Алексом Mcp и deceze в некотором роде, термины "изящная деградация" и "прогрессивное улучшение" имеют несколько иное значение, чем я стою.

изящные деградации, много времени (на мой взгляд), кажется, больше палки, чтобы бить приложение в представлении после того, как это был построен плохо в первую очередь в моем опыте. Как кто-то строит какой-то огромный объект javascript, который предоставляет пользователю что-то действительно классное, чтобы играть, пока не придет менеджер, проверяет вещь, и все бегут кричать, бросая руки, когда дело доходит до их внимания, что их приложение не работает в 35% браузеров. "кто-то лучше предусмотреть запасной вариант для этого."

Постепенное Повышение хотя (и это такой хороший термин, чтобы сказать тоже), казалось бы, больше о создании чего-то, что просто работает, на начальном уровне, везде, с помощью самых основных доступных методов, чтобы обеспечить всю функциональность, которая нужна пользователю. Затем это можно добавить с помощью аккуратных маленьких ненавязчивых помощников, укладки и т. д. это фактически улучшает пользовательский опыт рассматриваемого приложения, а не просто делает его едва пригодным для использования. ", что выглядит круто. Работает ли он в IE6. О да. Он Делает"

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

Тирада закончилась...


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

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

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


Изящные Деградации

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

изящная деградация-одно из решений. Это практика создания веб-сайта или приложения, поэтому он обеспечивает хороший уровень пользовательского опыта в современных браузерах. Однако, это ухудшить изящно на старых браузеров. Система может быть не такой приятной или красивой, но основная функциональность будет работать на старых системах.

простой пример-использование 24-битных Альфа-прозрачных PNGs. Эти изображения могут быть отображены в современных браузерах без проблем. IE5.5 и IE6 покажут изображение, но Эффекты прозрачности не сработают (при необходимости его можно заставить работать). Старые браузеры, которые делают не поддержка PNG покажет текст alt или пустое пространство.

разработчики, принимающие изящную деградацию, часто указывают свой уровень поддержки браузера, например, браузеры уровня 1 (лучший опыт) и браузеры уровня 2 (деградированный опыт).

Постепенное Повышение

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

прогрессивное повышение подобно концепции к грациозно ухудшению но в обратном. Веб-сайт или приложение будет устанавливать базовый уровень пользовательского опыта для большинство браузеров. Более расширенная функциональность будет добавлена, когда браузер поддерживает его.

прогрессивное улучшение не требует от нас выбора поддерживаемых браузеров или возврата к макетам на основе таблиц. Мы выбираем уровень технологии, т. е. браузер должен поддерживать HTML 4.01 и стандартные запросы/ответы на страницы.

вернемся к нашему примеру изображение, мы можем решить, что наше приложение должно работать во всех графических браузерах. Мы могли бы использовать более низкое качество GIF изображения по умолчанию, но заменяют их 24-битными png, когда браузер поддерживает их.


ссылки

Википедия : Постепенное Повышение и Изящная Деградация(Fault_tolerance)

источник : Блог Sitepoint


Я считаю, она, как правило, междометие - ты говоришь "Хорошо, мой сайт работает с Lynx, пользователи могут делать все, что я хочу, чтобы они были в состоянии сделать, теперь давайте добавим некоторые размахом", или вы хотите сказать, "Хорошо, мой сайт работает в Firefox, теперь давайте попробуем исправить это для людей, не желающих использовать что/кто выключить JavaScript/и т. д."


чтобы сделать его проще, просто установите бар прямо в верхней части, то вы можете игнорировать прогрессивное повышение. когда появляется новая функция, поднимите свой бар;)

или установить свой бар на низком уровне (рысь возможно?) и просто используйте прогрессивное улучшение.