Консорциум World Wide Web (W3C) приступил к стандартизации технологии AJAX, набирающей все большую популярность среди веб-программистов.

Ajax базируется на двух основных принципах:


По большому счету, чем отличается ПО на вашем рабочем столе от онлайновых веб-приложений? Большая насыщенность интерактивными элементами и время их реакции – вот те основные проблемы, которые увеличивают дистанцию между веб-интерфейсами и их пользователями. Но эта дистанция начала сокращаться.

Вы уже знакомы с такими новинками как Google Suggest, Google Maps? Вероятно попадался вам и LiveSearch (Поиск в живую) на некоторых блогах их продвинутых владельцев? Все это теперь именуется не иначе как Ajax (технически - XMLHttpRequest).

Что такое Ajax?

Если говорить о ближайшем технологическом будущем Веба, то наверное Ajax (Аякс) можно назвать одним из наиболее реальных и ожидаемых эволюционных шагов.

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

Среди основных составляющих Ajax можно выделить следующие:

Как работает Ajax?

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

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

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

По большому счету, сердцем технологии Ajax является XMLHttpRequest – объект языка JavaScript, который позволяет выполнять дальнейшие запросы к серверу, после того как сама страница уже загрузилась.

Однако не очень удобно пользоваться таким названием как «икс-эм-эл-аш-ти-ти-пи-риквест» и Джесс Джеймс Гэррет (Jesse James Garrett) из AdaptivePath предложил назвать эту совокупность технологии – Ajax (Asynchronous JavaScript + XML). Просто и звучно.

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

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


Классический принцип работы с клиентом.

Метод Ajax.

Недостатки

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

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

Сохранение страниц

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

Регистрация в поисковиках

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

Ссылки

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