В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE де-факто следует воспринимать как «идеал» в любой веб-разработке. поставленное программное обеспечение, если оно фактически не было принято.

Для некоторого фона вы можете прочитать следующее:

Дело против: https://www.viget.com/articles/the-case-against-progressive-enhancements-flimsy-moral-foundation

Ответ на вышеуказанную статью: https://www.aaron-gustafson.com/notebook/insert-clickbait-headline-about-progressive-enhancement-here/

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

Давайте извлечем несколько уроков из истории.

В 1990-х и 2000-х — как и сейчас в 2010-х — люди были заняты созданием веб-документов и хотели добавить больше функций и возможностей. Самым ранним средством доставки «программного обеспечения через Интернет», которое имело какое-либо распространение, были Java-апплеты. Как правило, это отстой из-за времени запуска виртуальной машины, не у всех есть Java или правильная версия Java, проблемы с безопасностью и т. д. и т. д.).

То же самое, более или менее, относится к более позднему распространенному подходу к доставке программного обеспечения через Интернет, которым был Flash (сначала Macromedia, позже Adobe). Flash всегда запускался быстрее, чем Java, но у него были свои проблемы (Apple отказалась разрешить запуск Flash-роликов на iOS, утверждая, что это связано с нагрузкой на ЦП).

Java-апплеты, Flash-ролики и другие контейнеры в том же духе утратили какие-либо собственные функции Интернета — не было документов, которые можно было бы автоматически очищать для SEO, анализировать программами чтения с экрана. переведены, показаны на «умных» телевизорах или другом устройстве без javascript, проанализированы и перерендерены посредником вроде Opera Mini, сохранены на вечность машиной WayBack и т. д. и т. д. Список возможных применений машинно-разбираемого document сейчас огромен и почти наверняка увеличится в будущем.

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

Это не моральный аргумент в пользу программ чтения с экрана — это скорее технический аргумент о понимании и работе с с используемой вами платформой доставки, а не против нее.

Не обязательно «неправильно» доставлять программное обеспечение в браузер вместо документов. Также не обязательно «неправильно» вручную создавать каждый элемент управления вводом при разработке для iOS, но есть много причин, по которым это неоптимально.

Прогрессивное улучшение означает мышление «сначала документ», а затем «богатство». На самом деле ключ в названии, что же это за вещь, которая «постепенно совершенствуется»? Правильно — это гипертекстовый документ.