В чем разница между прогрессивным улучшением и грациозным деградации?
Я смущен тем, что разница между Прогрессивным улучшением и Изящная деградация. Для меня это похоже на то же самое.
Не могли бы вы объяснить мне различия между ними и в какой ситуации я бы использовал один над другим?
Ответы
Ответ 1
Они почти то же самое, но они различаются в контексте.
Существует класс браузеров под названием "Браузеры с рейтингом". Это ваши типичные члены аудитории, которые (возможно) составляют большинство ваших посетителей. Вы начнете с базового уровня этих пользователей. Назовите эту лучшие современные практики.
Если вы хотите улучшить опыт для тех, кто собирается использовать FF3.6 или Safari 4 или какой-либо другой разработчик новизны whizbang, но вы будете делать такие потрясающие вещи, как
- закругленные углы через css
- затененный текст (но, пожалуйста, бог, не слишком много)
- тени (см. выше в скобках)
Они заставляют ваш сайт искать ногами, но не сломают его. Это прогрессивное улучшение. Охватывая будущее с точки зрения лучших практик.
С другой стороны, ваша ниша сайта Nintendo привлекает большое количество пользователей IE5. Бедные, но вы также хотите, чтобы они продолжали возвращаться. Вы можете предоставить альтернативу вашему поведению ajax, включив ajax script во внешний файл, и если их JS не включен, возможно, ваши ссылки обновят всю страницу. И т.д. С точки зрения лучших современных методов, вы убедитесь, что некоторые исторические рынки удовлетворяются некоторым подобием функционального сайта. Это изящная деградация.
Они в основном идентичны, но для многих групп разработчиков они отличаются приоритетом: PE очень хорош, если у вас есть время, но GD часто необходимо
Ответ 2
Если ваш сайт выглядит одинаково хорошо во всех браузерах, но некоторые браузеры получают, скажем, танцевальные пони, потому что они поддерживают танцевальные пони, а затем Progressive Enhancement. Он работает во всех браузерах, но некоторые браузеры получают что-то дополнительное. Обычно этот термин применяется к некоторым функциям Javascript, которые могут повысить удобство использования за пределами "необработанного HTML".
Если ваш сайт выглядит только так, как вы намереваетесь использовать в браузерах, которые полностью поддерживают, скажем, CSS3 и IE8, отобразит ту же страницу, без, скажем, закругленных углов, а затем и Graceful Degradation. Сайт действительно предназначен для современных браузеров, но он по-прежнему может использоваться в старых браузерах, а не как причудливый.
В конце концов, они действительно одно и то же, посмотрели с двух разных точек зрения.
Ответ 3
Направление от выбранной базовой линии для каждой концепции отличается.
Изящная деградация начинается с идеального уровня пользовательского опыта и уменьшается в зависимости от возможностей пользовательского агента до минимального уровня, обеспечивая питание агентами, которые не поддерживают определенные функции, используемые базовым уровнем.
Progressive Enhancement начинается с широкого минимального пользовательского опыта и увеличивается в зависимости от возможностей пользовательского агента до более способного уровня, обслуживающего агентов, которые поддерживают более сложные функции, чем базовые.
Я думаю, что можно использовать обе концепции, если разрешено время/бюджет. Если нет, предпочтительнее будет грациозная деградация.
Ответ 4
Извините, что воскресил что-то более года, но я чувствовал, что могу каким-то образом внести свой собственный вклад в это дело.
Несмотря на то, что я согласен с Алексом Макпом и каким-то образом умалчиваю, термины "Изящная деградация" и "Прогрессивное улучшение" имеют несколько разные значения, из которых я стою.
Изящная деградация, много времени (на мой взгляд), похоже, больше похоже на то, чтобы бить приложение в подчинение после того, как оно было создано плохо в первую очередь по моему опыту. Как и кто-то, строящий какой-то обширный объект javascript, который предоставляет пользователю что-то действительно классное, чтобы играть, пока менеджер не приходит, тестирует вещь, и все начинают кричать, бросая руки, когда дело доходит до их внимания, что их приложение не работает в 35% браузеров. "Кто-то лучше обеспечит резерв для этого".
Progressive Enhancement, хотя (и это такой приятный термин, чтобы сказать тоже), мне показалось бы больше о создании чего-то, что просто работает, на начальном уровне, везде, через самые основные методы чтобы обеспечить все функциональные возможности, необходимые пользователю. Затем это можно добавить с помощью аккуратных маленьких ненавязчивых помощников, стилей и т.д., Которые фактически улучшают пользовательский интерфейс рассматриваемого приложения, а не просто делают его едва пригодным для использования. "Это выглядит круто. Работает ли он в IE6. О да, он делает"
Я думаю, что, может быть, давая стиль в качестве примера обоих терминов в двух верхних ответах, здесь вид упускает из виду основную проблему юзабилити, которая прогрессивное улучшение часто решает по самой своей природе, где изящный деградация игнорируется, пока все не пойдет не так.
Повторите...
Ответ 5
Изящная деградация - это практика создания вашей веб-функциональности, чтобы она обеспечивала определенный уровень пользовательского опыта в более современных браузерах, но она также будет изящно деградировать на более низкий уровень использования пользователями в старых браузерах. Этот низкий уровень не так хорош для использования посетителям вашего сайта, но он по-прежнему предоставляет им базовые функции, которые они приходят на ваш сайт для использования; вещи не ломаются для них.
Прогрессивное улучшение похоже, но оно делает все наоборот. Вы начинаете с установления базового уровня пользовательского опыта, который все браузеры смогут предоставить при рендеринге вашего веб-сайта, но вы также создаете более сложные функции, которые будут автоматически доступны для браузеров, которые могут его использовать.
Другими словами, грациозная деградация начинается с статус-кво сложности и пытается исправить для меньшего опыта, тогда как прогрессивное улучшение начинается с очень простого рабочего примера и позволяет постоянно расширять для будущих сред. Деградация грациозно означает оглядываться назад, тогда как повышение постепенно означает ожидание, сохраняя ноги на твердой почве.
Ответ 6
Изящная деградация
Изящная деградация - это способность компьютера, машины, электронных системы или сети для поддержания ограниченной функциональности, даже если часть его была разрушена или оказана неработоспособной. Цель изящной деградации - для предотвращения катастрофического отказа.
Изящная деградация - одно из решений. Это практика создания веб-сайта или приложения, поэтому он обеспечивает хороший уровень пользовательского опыта в современных браузерах. Тем не менее, он будет деградировать изящно для тех, кто использует старые браузеры. Система может быть не такой приятной или красивой, но основные функции будут работать на более старых системах.
Простым примером является использование 24-битных альфа-прозрачных PNG. Эти изображения могут отображаться в современных браузерах без проблем. IE5.5 и IE6 будут показывать изображение, но эффекты прозрачности не сработают (при необходимости его можно будет работать). Старые браузеры, которые не поддерживают PNG, будут отображать текст или пустое пространство.
Разработчики, применяющие грациозную деградацию, часто указывают уровень поддержки браузера, например. браузеры уровня 1 (лучший опыт) и браузеры уровня 2 (ухудшенный опыт).
Прогрессивное улучшение
Прогрессивное улучшение - это стратегия веб-дизайна, которая подчеркивает доступность, семантическую разметку HTML и внешнюю таблицу стилей и технологии сценариев. Прогрессивное расширение использует веб-технологии в многоуровневой форме, которая позволяет каждому получить доступ к основному контенту и функциональность веб-страницы, используя любой браузер или Интернет соединение, а также предоставление расширенной версии страницы для с более продвинутым программным обеспечением браузера или большей пропускной способностью.
Прогрессивное усовершенствование - это аналогичная концепция для грациозной деградации, но наоборот. Веб-сайт или приложение установили базовый уровень пользовательского опыта для большинства браузеров. Более расширенная функциональность будет добавлена, когда браузер ее поддерживает.
Прогрессивное расширение не требует от нас выбора поддерживаемых браузеров или возврата к табличным макетам. Мы выбираем уровень технологии; то есть браузер должен поддерживать HTML 4.01 и стандартный запрос/ответы страницы.
Возвращаясь к нашему примеру, мы можем решить, что наше приложение должно функционировать во всех графических браузерах. Мы могли использовать изображения GIF более низкого качества по умолчанию, но заменяем их 24-разрядными PNG, когда браузер поддерживает их.
Ссылки
Википедия: Прогрессивное улучшение и Изящная деградация (Fault_tolerance)
Источник: Блог Sitepoint
Ответ 7
Я нахожу, что он имеет тенденцию относиться к положению - вы говорите "хорошо, мой сайт работает с Lynx, пользователи могут делать все, что я хочу, чтобы они могли делать, теперь давайте добавим некоторый panache", или вы говорите "хорошо, мой сайт работает в Firefox, теперь попробуйте исправить его для людей, которые не хотят использовать это /, которые отключили javascript/etc"
Ответ 8
чтобы сделать это проще, просто установите планку справа вверху, затем вы можете игнорировать прогрессивное улучшение. когда появляется новая функция, поднимите панель;)
или, альтернативно, установите ваш бар на самый низкий уровень (возможно, lynx?) и просто используйте прогрессивное улучшение.