Стоит ли создавать сайты, которые требуют JavaScript в наши дни? - PullRequest
14 голосов
/ 15 сентября 2008

Это осень 2008 года, и я все еще слышу, как разработчики говорят, что вам не следует создавать сайт, требующий JavaScript.

Я понимаю, что вам следует разрабатывать сайты, которые постепенно изнашиваются, когда JS отсутствует / включен. Но в какой момент вы не включили функциональность, которая может работать только на JS?

Полагаю, вопрос сводится к демографии. Есть ли цифры, сколько людей просматривают без JS?

Ответы [ 31 ]

0 голосов
/ 15 сентября 2008

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

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

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

Если ваш Javascript создает данные во время выполнения, то пришло время выяснить и выяснить, действительно ли ваша веб-страница представляет собой часть программного обеспечения (например, ипотечный калькулятор) или это документ, содержащий данные (например, список процентов по ипотечным кредитам) ставки). Это должно сказать вам, имеет ли смысл полагаться на Javascript.

В качестве заключительного замечания / примера, демография может вводить в заблуждение. Относительно мало людей просматривают ваш сайт без Javascript, но множество машин (поисковые роботы, майнеры данных, программы для чтения с экрана для инвалидов и т. Д.) Просматривают ваш сайт без Javascript. Опять же, важно различие между данными и функциональностью - боты просто делают запросы и ищут данные в ответах. Им не нужна функциональность. Но если вашему пользователю нужно вызывать функции только для того, чтобы сделать ваши данные доступными, боты не получают никакой пользы от вашего сайта.


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

Обратите внимание, что это не исключает Javascript из рассмотрения. Наш пример ипотечного калькулятора все еще может работать: принимать ввод от пользователя, вызывать Javascript и записывать вывод обратно в слой чистой семантической информации страницы. , Считыватели экрана могут прочитать его! И если они не могут, вы поощряете разработку более качественных программ чтения с экрана, которые могут.

0 голосов
/ 15 сентября 2008

Я согласен с большинством респондентов stackoverflow. JavaScript стал более зрелым и предлагает «дополнительный» уровень функциональности веб-странице, особенно для форм. Те, кто выключает куки и JS, вероятно, были укушены во время серфинга в опасных водах. Для корпоративных опытных пользователей, которые оплачивают мой путь на сайтах B2B или розничной торговли, JS является проверенным и надежным инструментом. Пока что-то лучше не придет (и будет) Я придерживаюсь JS.

0 голосов
/ 15 сентября 2008

Как вы сказали, демография. Сеть распространяется на устройства, которые не имеют большой мощности, например мобильные телефоны. Если ваш сайт можно использовать без JavaScript, Opera Mini, скорее всего, покажет ваш сайт без проблем.

0 голосов
/ 15 сентября 2008

Я бы сказал, что вы должны смотреть на свою целевую аудиторию. Если вы можете разумно ожидать, что у них будет включен js, и заставить все работать без js - слишком большая боль, тогда во что бы то ни стало - продолжайте и игнорируйте толпу не-js, если с другой стороны вам придется создайте сайт, который будет использоваться очень большой аудиторией / или вы, возможно, создаете правительственный веб-сайт, затем вы должны убедиться, что все работает, и в таких случаях проще сначала создать сайт, чтобы он работал без каких-либо js, и позже добавьте все приятные биты ajaxy, экономящие время.

В целом, почти у всех по умолчанию включен js.

Хотя вам следует помнить, что проверка размещенных пользователем данных на стороне сервера является обязательной в любом случае.

0 голосов
/ 16 сентября 2008

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

0 голосов
/ 15 сентября 2008

, если вы хотите, чтобы ваш сайт был доступен для просмотра 100 лучших компаний в США. Я бы написал без JavaScript.

0 голосов
/ 15 сентября 2008

Я думаю, все сводится к тому, что ты собираешься делать. Вы пишете веб-приложение? Тогда я думаю, что вы обязаны использовать JavaScript и / или что-то типа GWT . Просто посмотрите на все социальные сайты и приложения Google, такие как gmail. Если вы пишете веб-страницу с описаниями продуктов и практически никакой интерактивностью, то вы можете сделать javascript необязательным.

0 голосов
/ 16 сентября 2008

Ну, это зависит от вашей базы пользователей. Если вы знаете, что люди будут использовать ваш сайт с мобильных устройств, хорошо иметь ненавязчивый JavaScript. Однако, если вы пытаетесь обратиться к технически подкованной толпе, не беспокойтесь об этом.

Однако, если вы обращаетесь к толпе, которая может использовать программы чтения с экрана (слепые люди), я настоятельно рекомендую использовать стандарты WAI-ARIA . Система виджетов Dojo полностью поддерживает это, и это был бы отличный и простой способ сделать это.

В любом случае, в большинстве случаев вам не нужен ненавязчивый JavaScript. Большинство людей, у которых отключен JavaScript, либо используют смартфон, либо используют Lynx, либо у них установлен NoScript. Он включен по умолчанию во всех основных браузерах, так что вам не о чем беспокоиться.

Наконец, хорошо, по крайней мере, иметь немного ненавязчивого JavaScript. <noscript> теги - ваш лучший друг. Например, можно заменить виджет, который рисует звездочки рейтинга текстом. Пример использования dojo:

<div dojoType="dojox.Rating" stars="5" value="4"></div>
<noscript>4/5</noscript>
0 голосов
/ 15 сентября 2008

Вы должны привязать функциональность вашего сайта к вашей аудитории. Тем не менее, каждый современный браузер (за исключением мобильной платформы) включает в себя javascript, и поэтому, если ваша аудитория не включает luddite с десятилетними компьютерами, вы можете предположить, что они имеют javascript.

Люди, о которых вам нужно беспокоиться, это те, которые специально его отключают. Это включает в себя:

  • Корпоративные сети с жесткой безопасностью (не часто, но некоторые финансовые и оборонные учреждения)
  • Параноидальные паутины

Итак, во-первых, кто ваша аудитория? Есть ли другие сайты, которые сопоставимы с вашей целью? Посмотрите на их сайт и успех - они изящно деградируют и будут ли вы довольны их уровнем успеха?

Если вы нацелены на мобильные приложения, вы не можете гарантировать JavaScript.

-Adam

0 голосов
/ 22 февраля 2009

Как говорят многие люди, важно учитывать вашу пользовательскую базу, но, кем бы вы ни были ваши пользователи, есть большая вероятность, что у некоторых (статистика 10%) из них будут какие-то ограничения, а читатели экрана не любят JavaScript. Если вы только добавляете простые вещи, меню javascript или что-то, то просто сделайте это ухудшением (или не делайте этого). Если сайт зависит от правильности работы javascript, сделайте две версии: одну для javascript и одну без.

Я обычно нахожу, что что-либо слишком тяжелое в javascript очень трудно сделать, чтобы ухудшить качество, просто не заставляя javascript переписывать страницу в версию javascript, если пользователь может это сделать. Учитывая это, стоит написать две страницы из квадрата для сложных вещей.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...