Когда целесообразно использовать AJAX?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Минусы:

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

Плюсы:

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