Подтвердить что ты не робот

JavaScript ненадолго устарел?

Когда я впервые прочитал принцип ненавязчивого JavaScript в учебной программе Web Standard, я подумал, что это действительно замечательная вещь.

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

Далее, ненавязчивый JavaScript:

  • разделяет структуру и поведение, чтобы сделать ваш код чище и script обслуживание

  • предопределяет несовместимость браузера

  • работает с чистым семантическим слоем HTML

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

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

Тем не менее я спрашиваю себя: ненавязчивый JavaScript не устарел. Я имею в виду, какой браузер не поддерживает JavaScript уже изначально? Это все еще подход, который подходит для 2012 года? Я начал сомневаться в этом.

4b9b3361

Ответ 1

Существует два способа приближения к веб-сайту и использование JS:

  • JS как усовершенствование

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

    Большинство (больших) веб-сайтов используют эту схему, чтобы сохранить ее полезность даже при использовании браузера, не поддерживающего работу. Например, StackOverflow, который даже работает в браузере командной строки lynx!

     ______
    | JS   | - JavaScript for (optional) enhancements
    |------|
    | CSS  | - CSS for (optional) style
    |------|
    | HTML | - (mandatory) HTML with base content
    '------'
    
  • JS как платформа

    Для веб-приложений разумно (более похоже на обязательное), что они основаны на JS для динамического контента и функциональности в режиме реального времени, а HTML и CSS - это представление. Это синонимично для других языков программирования, где вы можете пойти "без головы" с вашей программой (без интерфейса), например с библиотеками и плагинами.

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

     ____________
    | HTML | CSS | - (optional) HTML and CSS view
    |------------|
    |     JS     | - (mandatory) JS platform
    '------------'
    

Обычно это сводится к вопросу: "Это документ или приложение?"

Ответ 2

Различные компании используют разные подходы. Например, Google для их поиска использует ненавязчивый javascript, который изящно деградирует, но для GMail они поддерживают отдельный сайт HTML, который они разработали позже после версии GMail JS.

Для меня это зависит от

  • Сложность
  • Функциональность,
  • Стоимость
  • Число пользователей с учетом воздействия

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