Какие-либо веские причины не использовать AJAX? - PullRequest
15 голосов
/ 27 сентября 2010

Я планирую сделать свое веб-приложение достаточно тяжелым для AJAX.

Прежде чем я это сделаю, мне интересно, что люди думают о таких сайтах.Есть ли веские причины не делать этого?

Кстати, нет необходимости упоминать причины SEO.Кроме того, я думаю, что преимущества компенсируют тот факт, что люди без javascript будут иметь ограниченный опыт (хотя я открыт для убеждения иначе).

Ответы [ 6 ]

15 голосов
/ 27 сентября 2010

Зависит от того, как вы планируете его использовать, IMO.

1) Если сайт без него потерпит неудачу, вы исключаете пользователей с отключенными сценариями.Я думаю, что во многих случаях справедливо ограничить функциональность , но не удалять для пользователей без сценариев (например, Google не выполняет автозаполнение поисков, если у вас отключен сценарий; это невозможно ... нобазовый поиск все еще работает).

2) Нужные методы должны быть использованы в нужном месте.Например, ASP.Net UpdatePanel будет работать ужасно, если вы добавите в него тысячи элементов.

3) Я становлюсь все большим поклонником контента, который загружается небольшими блоками на странице, которая нетребуется полное обновление. NOR. Требуется ли повторное выполнение всей страницы.Это прекрасно подходит для SOA, но еще более ограничено пределами # 1.

4) РЕДАКТИРОВАТЬ: Не создавайте элементы пользовательского интерфейса, которые (из-за AJAX) ведут себя неожиданно.Например, однажды я создал выпадающий список, который заполнялся только тогда, когда он был переключен.Из-за задержек и времени создания DOM, оно не было отзывчивым.Кроме того, размер часто меняется в зависимости от того, какие элементы были добавлены динамически.Вы могли бы предложить способы решения этих проблем, но это все равно было неправильным использованием технологии.

6 голосов
/ 27 сентября 2010

AJAX - это инструмент для работы. Если ваше приложение лучше всего обслуживается этим инструментом, используйте его.

Изменить - просто убедитесь, что компромиссы хорошо понятны. Кроме того, ничто в использовании AJAX не препятствует тому, чтобы у вас была готовая резервная копия без Ajax, если вам это нужно ...

4 голосов
/ 27 сентября 2010

Очевидно, что есть много популярных сайтов, которые полагаются на AJAX, поэтому его, конечно, не следует избегать при правильном использовании. Тем не менее, есть вещи, которые необходимо учитывать:

  • Нужно ли пользователям иметь возможность делать глубокие ссылки (т.е. сохранять закладки на «страницах», которые были созданы динамически)? Нужно ли им использовать кнопку «Назад» для навигации? (Обе эти вещи могут быть выполнены с использованием AJAX, но их необходимо явно учитывать, поскольку наивные реализации AJAX могут заставить их работать плохо или не работать вообще.)
  • Будет ли использование AJAX негативно влиять на пользователей с ограниченными возможностями (например, тех, кто использует программу чтения с экрана)?
3 голосов
/ 27 сентября 2010

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

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

1 голос
/ 27 сентября 2010

Пользователи, находящиеся на другой стороне планеты с ограничением скорости в 10 раз, 10 8 м / с, установленным физикой, найдут ваш сайт вялым и не реагирующим, если у вас много взаимодействия с интерфейсом происходит с AJAX.

Типичное время обработки пакета (туда и обратно) из Новой Зеландии в Калифорнию составляет примерно 200 мс, и пользовательский интерфейс должен ответить в течение 100 мс, чтобы не чувствовать себя вялым.

1 голос
/ 27 сентября 2010

Глубокие ссылки могут быть проблемой с тяжелыми сайтами Ajax. Есть способы обойти это (то есть, используя технику url-hash), но они не всегда надежны.

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