Ответ 1
См. также Ненавязчивый Javascript, который является прогрессивным улучшением постели.
Джефф упомянул концепцию "Progressive Enhancement", когда говорил об использовании JQuery для записи stackoverflow.
После быстрого Google я нашел пару обсуждений на высоком уровне.
Кто-нибудь может рекомендовать хорошее место для запуска в качестве программиста.
В частности, я писал веб-приложения на PHP и хотел бы использовать YUI для улучшения страниц, которые я пишу, но многие из них, похоже, основаны на JavaScript, причем большая часть работы с ослом выполняется с использованием JavaScript. Для меня это кажется немного излишним, так как просмотр сайта без Javascript, вероятно, нарушит его большинство.
У кого-нибудь есть хорошие места, чтобы начать использовать эту идею, мне не очень-то нравится этот язык.
В идеале, я хотел бы увидеть, как вы сначала начинаете создавать статический HTML, а затем добавляете YUI (или какую-либо структуру Ajax) к нему, чтобы получить преимущества более богатого клиента?
См. также Ненавязчивый Javascript, который является прогрессивным улучшением постели.
Как вы сказали
Мне кажется, это немного переборщило, так как просмотр сайта без Javascript, вероятно, нарушит его большинство.
Это не прогрессивное улучшение. Прогрессивное улучшение - это когда сайт отлично работает без JavaScript или CSS, а затем добавляет (накладывает) эти дополнительные технологии/код, чтобы повысить удобство и функциональность веб-сайта.
Лучший пример, который я могу дать, - это поле ввода тега на этом веб-сайте. Если JavaScript отключен, он все равно будет работать, позволяя вам вводить теги, разделенные пробелом. С включенным JavaScript вы получите раскрывающийся список с предложениями предыдущих записей.
Это прогрессивное улучшение.
Я написал учебник о создании опроса, который использовал прогрессивное улучшение на NETTUTS. Идея заключается в создании функционального сайта с использованием XHTML/CSS и PHP, а затем перехвата форм и т.д. С помощью Javascript. (Я использовал JQuery).
Переход к нему с другого направления иногда называют грациозным деградации. Обычно это необходимо, когда сайт создается сначала с расширенной функциональностью, предоставляемой различными технологиями, а затем изменен, чтобы грамотно деградировать для браузеров с этими технологиями.
Это также изящное ухудшение при разработке для работы со старыми браузерами (древними в терминологии Интернетов), такими как IE 5.5, Netscape и т.д.
По-моему, гораздо более эффективная работа над грамотным деградированием приложения. Постепенно его усиление имеет тенденцию быть намного более эффективным; однако иногда возникает необходимость принять существующее приложение и сделать его доступным в этих недостающих средах.
В принципе, если ваш сайт по-прежнему работает с отключенным JavaScript, то все, что вы добавляете с помощью JavaScript, можно считать прогрессивным улучшением.
Некоторые люди могут подумать, что это не нужно, но много людей просматривают такие дополнения, как NoScript (или, если JavaScript просто отключен в настройках браузера). Кроме того, многие мобильные веб-браузеры могут поддерживать или не поддерживать JavaScript. Таким образом, всегда хорошо протестировать ваш сайт с помощью JavaScript и без него.
Progressive Enhancement - это метод разработки, который подчеркивает примат семантического HTML, а затем тестирует возможности браузера и условно "расслоение" на JavaScript и/или CSS-улучшения для браузеров, которые могут использовать эти улучшения.
Один из ключей - это понимание того, что мы тестируем, что может сделать браузер, в отличие от браунинга. Modernizr - очень популярный тестовый набор возможностей для браузера.
Прогрессивное улучшение по своей сути (раздел 508) доступно; он предусматривает соблюдение буквы закона и духа правила.
The Filament Group написала отличную "" Проектирование с прогрессивным улучшением" по этой теме. (Я не связан с Filament Group, хотя они настолько чертовски умны, что я бы хотел.)
Это такая важная концепция, и меня огорчает, что так мало веб-разработчиков понимают ее.
В принципе, начните с построения сайта/фрейма в Plain Old HTML - структурных элементах, ссылках и формах. Затем добавьте некоторый стиль, а затем блестящий материал (Ajax или что у вас есть).
Это не очень сложно. Как palehorse, изящная деградация - это больше работы.
Сайты должны работать в любом пользовательском агенте, а не выглядеть одинаково (даже не выглядят, но звучат, если ваше зрение ухудшается), просто работайте.
Прогрессивное улучшение: