Статьи

Прогрессивное улучшение и постепенная деградация: выбор

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

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

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

Оценка требования доступности вашего приложения

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

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

Многие разработчики утверждают, что их веб-сайт или приложение зависит от браузера и нуждается только в поддержке этого приложения. Например, надстройки Mozilla могут быть недоступны для пользователей, не использующих Firefox. Тем не менее, сайт, на котором размещается каталог дополнений Mozilla, хорошо работает в большинстве браузеров:

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

С другой стороны, есть сайты электронной коммерции, такие как Amazon.com. Компания может потерять тысячи долларов, если они ограничат доступ к каким-либо пользователям.

Выбор вашего подхода к разработке

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

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

Есть несколько исключений, когда изящная деградация может быть подходящей:

  • Косметические проблемы обычно приемлемы, если система остается пригодной для использования. Старые браузеры имеют более ограниченную поддержку CSS — макеты могут быть разными или безобразными, если основные функции остаются работоспособными.
  • Сложное визуальное приложение, такое как Google Maps, настолько зависит от JavaScript, что для пользователей без него была разработана совершенно другая система. Это не означает, что Google Maps не может быть достигнуто с помощью прогрессивного улучшения, но я подозреваю, что было проще и дешевле создать два отдельных приложения.

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

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

Смотреть часть 1: Прогрессивное улучшение и постепенная деградация: обзор

Связанное чтение: