AJAX

AJAX(Asynchronous JavaScript And XML), по сути, не является технологией, скорее это идея фонового взаимодействия веб-страницы с удаленным сервером через специальную компоненту встроенную в ваш браузер. Если посмотреть глубже в саму сущность, то AJAX — это сумма нескольких самостоятельных технологий, которые могут быть эффективно использованы вместе.

Обозначим компоненты, без которых AJAX был бы не возможен:

  • HTML и CSS
  • JavaScript - асинхронные запросы отправляются c его помощью. Не забываем, что для связи используется специальная компонента взаимодействия c сервером, у каждого браузера она может быть своя, хотя возможно взаимодействие и без специальной компоненты.
  • XML - данные от сервера идут именно в этом формате (хотя это и не обязательно, можно использовать любой другой формат), преобразовываются и визуализируются, используя Document Object Model(DOM)

Классические Веб-приложения работают примерно следующим образом: большинство действий пользователя вызывает обращение к серверу. Сервер занимается обработкой запроса (принимает данные), производит некоторые манипуляции с ними, и возвращает пользователю HTML страничку.  

Классический подход удобен для разработки, но не использования. Что делает пользователь, пока сервер выполняет свою работу? Правильно, он ждет. И, с выполнением каждой следующей операции, он снова ждёт, и так при смене каждой страницы. Если весь интерфейс уже загрузился, почему взаимодействие пользователя с программой должно прерываться, как только программе понадобились некоторые данные с сервера?

Суть методологии Ajax – это свести к минимуму цикл «передачи данных/пауза, ожидания ответа» и постараться сделать общение пользователя с конкретным веб-сайтом как можно ровнее.
Все пользовательские запросы, обычно отправляемые веб-серверу, вместо этого направляются Ajax-движку посредством JavaScript. Движок принимает решение – необходима ли загрузка данных с сервера или нет. Если данные необходимо отправить или загрузить – это происходит в фоне и независимо от самого веб-приложения, не прерывая процесс общения пользователя с веб-сайтом. Данные отправляются и принимаются асинхронно, обычно используя XML представление.

Все это дает возможность использовать AJAX как платформу для веб-приложений (именно веб-приложений, а не сайтов), интерфейсные возможности которых не будут уступать возможностям обычных “оконных” Windows или Linux приложений. Это идею сразу же подхватили Интернет-гиганты Google и Yahoo, которые на данный момент усиленно развивают почтовые клиенты, фотоколлекции, приложения для работы с таблицами, текстовые редакторы и прочие продукты, но уже веб-ориентированно.

еще