Когда целесообразно использовать AJAX? - PullRequest
3 голосов
/ 17 февраля 2009

Когда целесообразно использовать AJAX?
Каковы плюсы и минусы использования AJAX?

В ответ на мой последний вопрос: некоторые люди казались очень непреклонными, что я должен использовать AJAX, только если ситуация была соответствующей: Должен ли я добавить логику AJAX в мои классы / скрипты PHP?

В ответ на ответ Чада Берча: Да, я имею в виду при разработке «стандартного» сайта, который будет использовать AJAX для его преимуществ и не будет ограничен его применением. Использование AJAX таким образом, чтобы убить поисковый рейтинг, было бы неприемлемым. Так что если «сохранение сайта в целости и сохранности» требует больше работы, то это будет «мошенничество».

Ответы [ 8 ]

8 голосов
/ 18 февраля 2009

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

Например, вы можете подумать, что было бы неплохо, чтобы пользователи посещали ваш блог, а затем динамически загружали страницу (ы) с помощью AJAX, как только они уже есть. Однако когда Google попытается проиндексировать ваш блог, он просто получит пустой сайт.

Хорошим поисковым термином для поиска ресурсов, связанных с этой темой, является «прогрессивное улучшение». Там есть много хороших вещей, потратьте некоторое время на ссылки вокруг. Вот один, чтобы начать вас:

http://www.alistapart.com/articles/progressiveenhancementwithjavascript/

5 голосов
/ 18 февраля 2009

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

Недостатком использования AJAX является то, что для его работы необходим javascript ИЛИ чтобы вы построили свое представление таким образом, чтобы пользовательский интерфейс все еще работал без него. Это сложнее, чем делать это с помощью обычных ссылок / сообщений.

2 голосов
/ 18 февраля 2009

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

Представьте себе, что у вас есть сайт с огромной пропускной способностью (например, стекопоток), большая часть навигации, выполняемой пользователями, осуществляется через перезагрузки страниц, а данные постоянно отправляются по HTTP.

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

Минусы - это SEO (который не работает с сайтами на основе ajax) и люди, у которых отключен JavaScript.

2 голосов
/ 18 февраля 2009

AJAX обычно используется для выполнения HTTP-запроса, когда страница уже загружена (без загрузки другой страницы).

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

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

1 голос
/ 18 февраля 2009

Ajax дает вам две большие вещи:

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

Пользовательский опыт - это сопровождается отзывчивостью. С AJAX вы можете добавлять анимацию, всплывающие окна и специальные эффекты, чтобы придать вашим веб-страницам новый, более чистый и прохладный вид. Если никто не считает это важным, то посмотрите на iPhone. Пользовательский опыт привлекает людей в приложение и заставляет их хотеть его использовать, что является одним из ключевых шагов в обеспечении успеха приложения.

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

1 голос
/ 18 февраля 2009

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

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

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

Поскольку AJAX использует Javascript, то же самое применимо и здесь.

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

Ajax в основном используется, когда вы хотите перезагрузить часть страницы, не помещая всю информацию на сервер.

Минусы:

  • Сложнее обычной записи (работа с различными браузерами, написание серверного кода для частичной обратной передачи)
  • Представляет потенциальные уязвимости безопасности ( Вы вводите дополнительный код, который взаимодействует с сервером. Это может быть проблемой как на клиенте, так и на сервере.
    На клиенте вам нужны способы отправки и получения ответов. Это еще один способ взаимодействия с браузером, который означает, что есть еще одна точка входа, которую необходимо охранять. Выполнение произвольного кода, публикация данных в непредусмотренный источник и т. Д. Существует несколько эксплойтов для приложений Ajax, которые были подключены с течением времени, но их всегда будет больше. )

Плюсы:

  • Это выглядит ярче для конечных пользователей
  • Позволяет отображать большое количество информации на странице без необходимости загружать все одновременно
  • Страница более интерактивная.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...