AJAX представляет собой комплекс современных технологий, позволяющих создавать интерактивные веб-приложения нового уровня. Использование AJAX привело к возможности динамического изменения контента веб-страницы: страница сама может догружать нужные пользователю данные, при этом полностью не перегружаясь, а загружая лишь изменившиеся данные. что не только удобно, но и значительно ускоряет время загрузки страниц сайта, даже если страница нагружена тяжеловесными картинками. Практически и психологически это очень удобно, т.к. не заставляет посетителя сайта длительно дожидаться появления страницы сайта на своем мониторе, особенно если скорость интернета низкая.
Сам термин AJAX является сокращением и расшифровывается как "Asynchronous JavaScript And XML" (Aсинхронный JavaScript и XML). AJAX - это не самостоятельная технология, а синтез технологий, которые сами по себе существовали еще за несколько лет до появления термина AJAX. Так еще в 1996 году в браузере Internet Explorer была реализована поддержка тэга IFRAME, позволяющего загружать контент во фрейм без необходимости перезагрузки всей страницы. Поскольку тэг IFRAME и его аттрибут SRC позволяют осуществлять загрузку любого URL во фрейме, то при использовании JavaScript это в принципе позволяет добиться характерных для AJAX эффектов.
AJAX — это концепция использования нескольких смежных технологий.
AJAX базируется на следующих основных принципах:
История AJAX
Впервые термин AJAX был публично использован 18 февраля 2005 в статье Джесси Джеймса Гарретта (Jesse James Garrett)
«Новый подход к веб-приложениям». Гарретт придумал термин, когда ему пришлось как-то назвать новый набор технологий,
предлагаемый им клиенту.
Однако в той или иной форме многие технологии были доступны и использовались гораздо раньше, например в подходе
«Remote Scripting», предложенным компанией Microsoft в 1998, или с использованием HTML элемента IFRAME, появившегося
в Internet Explorer 3 в 1996 году.
AJAX стал особенно популярен после использования его компанией Google в сервисах Gmail, Google Maps и Google Suggest.
Преимущества AJAX
Недостатки
AJAX в действии
В отличие от множества "перспективных" подходов AJAX очень нагляден. Сайт, сделанный с помощью AJAX, субъективно работает гораздо быстрее обычного сайта. По крайней мере, он быстрее откликается на любые действия пользователя. Классические и, пожалуй, лучшие примеры использования AJAX - проекты Google Maps и Gmail - и это при том, что программисты Google во время работы над ними ни о каком AJAX и знать не знали. Запросы пользователей обрабатываются очень быстро, потому что использование идеологии AJAX позволяет не перезагружать страничку целиком, а обновлять на ней только те элементы, которые требуют обновления. У того же Gmail с недавнего времени есть обычный HTML-интерфейс для совместимости со старыми браузерами, и любой желающий может убедиться в том, что работает он в несколько раз медленнее, чем классический интерфейс Gmail.
Как работает AJAX
AJAX расшифровывается как Asynchronous JavaScript + XML (асинхронный JavaScript+XML) и технологией в строгом смысле слова не является. Это просто аббревиатура, обозначающая подход к созданию веб-приложений с помощью следующих технологий:
Если в стандартном веб-приложении обработкой всей информации занимается сервер, тогда как браузер отвечает только за взаимодействие с пользователем, передачу запросов и вывод поступившего HTML, то в AJAX-приложении между пользователем и сервером появляется еще один посредник - движок AJAX. Он определяет, какие запросы можно обработать "на месте", а за какими необходимо обращаться на сервер.
Поведение сервера тоже изменилось. Если раньше на каждый запрос сервер выдавал новую страницу, то теперь он отсылает лишь те данные, которые нужны клиенту, а HTML из них прямо в браузере формирует движок AJAX.
Асинхронность проявляется в том, что далеко не каждый клик пользователя доходит до сервера, причем обратное тоже справедливо - далеко не каждая реакция сервера обусловлена запросом пользователя. Большую часть запросов формирует движок AJAX, причем его можно написать так, что он будет загружать информацию превентивно, предугадывая действия пользователя.
Понятно, что с такой схемой работы качественная нагрузка на сервер меняется - если раньше запросов было мало, но каждый из них требовал значительных ресурсов (серверу нужно вытащить информацию из БД, сформировать из нее веб-страницу и отдать браузеру), то теперь задача сервера упрощается (формировать веб-страницы не нужно, да и объем передаваемых данных меньше), но запросов обрабатывать приходится больше.
Альтернативы
Flash стек технологий в виде ActionScript 3, Flex, Flash Remoting составляет технологическую основу так называемых RIA (Rich Internet Applications) активно продвигаемых Macromedia (теперь часть Adobe). RIA являются главными конкурентами Ajax.
Воспользовавшись
тестовым сайтом, разработанным специально для Вас, Вы сможете ознакомиться с принципом работы
системы редактирования сайта.