AJAX
Материал из Википедии — свободной энциклопедии
AJAX (от англ. Asynchronous JavaScript and XML — «асинхронный JavaScript и XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений. При использовании AJAX веб-страница не перезагружается полностью в ответ на каждое действие пользователя. Вместо этого с веб-сервера догружаются только нужные пользователю данные. AJAX — один из компонентов концепции DHTML.
AJAX по-английски произносится [эджэ́кс], по-русски довольно распространено [ая́кс].
Об AJAX заговорили после появления 18 февраля 2005 г. статьи Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к веб-приложениям». AJAX — это не самостоятельная технология, а идея.
AJAX базируется на двух основных принципах:
- использование DHTML для динамического изменения содержания страницы;
- использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например:
-
- с использованием XMLHttpRequest;
- через динамическое создание дочерних фреймов;
- через динамическое создание тега <script>.
Использование этих двух принципов позволяет создавать намного более удобные веб-интерфейсы пользователя на тех страницах сайтов, где необходимо активное взаимодействие с пользователем. Использование AJAX стало наиболее популярно после того, как компания Google начала активно использовать его при создании своих сайтов, таких как Gmail, Google Maps и Google Suggest. Использование AJAX на этих сайтах подтвердило эффективность использования данного подхода.
Flash стек технологий в dblt ActionScript 3, Flex, Flash Remoting составляет технологическую основу так называемых RIA (Rich Internet Applications) активно продвигаемых Macromedia (теперь часть Adobe). RIA являются главными конкурентами Ajax.
Содержание |
[править] Сравнение стандартного подхода и AJAX
[править] Классическая модель веб-приложения
- Пользователь заходит на веб-страницу и нажимает на какой-нибудь её элемент.
- Браузер формирует и отправляет запрос серверу.
- В ответ сервер генерирует совершенно новую веб-страницу и отправляет её браузеру и т. д. После чего браузер ПОЛНОСТЬЮ перегрузит динамическую страницу.
[править] Модель AJAX
- Пользователь заходит на веб-страницу и нажимает на какой-нибудь её элемент.
- Скрипт (на языке JavaScript) определяет, какая информация необходима для обновления страницы.
- Браузер отправляет соответствующий запрос на сервер.
- Сервер возвращает только ту часть документа, на которую пришел запрос.
- Скрипт вносит изменения с учётом полученной информации (без полной перезагрузки страницы).
Часто сервер передаёт не готовый HTML-код, а только данные; а HTML-элементы создаются исходя из этих данных, с использованием методов модификации DOM. При этом в качестве формата передачи данных обычно используются XML или JSON.
JSON хорош тем, что на стороне клиента его не надо обрабатывать каким-то специальным образом, достаточно выполнить вызов функции eval()
. Однако, исходя из соображений безопасности, его необходимо анализировать, так как при передаче вредоносного кода функция eval()
выполнит данный код.
[править] См. также
[править] Библиотеки
- Atlas. ASP.NET AJAX библиотека от Microsoft.
- Dojo. Javascript инструментарий.
- jQuery. Новый тип JavaScript библиотеки.
- Google Web Toolkit. Инструментарий для Java-разработчиков от Google.
- Prototype. Встроенная поддержка в фреймворке Ruby on Rails.
- Mootools. Очень компактая и модульная javascript библиотека.
- Rico
- script.aculo.us. Встроенная поддержка в Ruby on Rails.
[править] Ссылки
- Перевод статьи «Новый подход к веб-приложениям».
- AJAX Planet — новости, обзоры и статьи, посвященные Web 2.0 и, в первую очередь, AJAX.