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

StackOverflow https://stackoverflow.com/questions/2550431

Вопрос

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

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

Это было полезно?

Решение

Это почти одно и то же, но они различаются контекстом.

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

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

  • закругленные углы через css
  • затененный текст (но, пожалуйста, боже, не СЛИШКОМ много)
  • тени (см. выше в скобках)

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

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

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

Другие советы

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

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

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

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

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

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

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

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

Хотя я согласен и с Алексом Макпом, и в некотором смысле, термины «Милая деградация» и «Прогрессивное улучшение» имеют несколько иное значение, чем я считаю.

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

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

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

Разглагольствовать...

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

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

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

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

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

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

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

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

Прогрессивное улучшение

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

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

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

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


Ссылки

Википедия: Прогрессивное улучшение и Грациозная деградация (отказоустойчивость)

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top