- Эй-джэкс
-
AJAX (ˈeɪdʒæks, от англ. Asynchronous Javascript and XML — «асинхронный XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.
По-английски AJAX произносится как эй-джэкс, по-русски довольно распространено ая́кс.
Содержание
Технология
AJAX — это не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:
- использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например:
В качестве формата передачи данных обычно используются XML.
История
Впервые термин AJAX был публично использован 18 февраля 2005 года в статье Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к веб-приложениям». Гарретт придумал термин, когда ему пришлось как-то назвать новый набор технологий, предлагаемый им клиенту.
Однако в той или иной форме многие технологии были доступны и использовались гораздо раньше, например в подходе «Remote Scripting», предложенным компанией 1998 году, или с использованием Internet Explorer 3 в 1996 году.
AJAX стал особенно популярен после использования его компанией Gmail, Google Maps и Google Suggest.
Преимущества
- Экономия трафика
- Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только изменившуюся часть, иногда довольно небольшую.
- Уменьшение нагрузки на сервер
- AJAX позволяет несколько снизить нагрузку на сервер. К примеру, на странице работы с почтой, когда вы отмечаете прочитанные письма, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции без необходимости повторно создавать страницу и передавать её клиенту.
- Ускорение реакции интерфейса
- Поскольку нужно загрузить только изменившуюся часть, то пользователь видит результат своих действий быстрее.
Недостатки
- Интеграция со стандартными инструментами браузера
- Динамически создаваемые страницы не регистрируются браузером в истории посещения страниц, поэтому не работает кнопка «Назад», предоставляющая пользователям возможность вернуться к просмотренным ранее страницам, но существуют скрипты, которые могут решить эту проблему.
- Другой недостаток изменения содержимого страницы при постоянном URL после #), что позволяют многие браузеры.
- Динамически загружаемое содержимое недоступно поисковикам (если не проверять запрос, обычный он или XHttpRequest)
- Старые методы учёта статистики сайтов становятся неактуальными
- Многие сервисы статистики ведут учёт просмотров новых страниц сайта. Для сайтов, страницы которых широко используют AJAX, такая статистика теряет актуальность.
Альтернативы
Flash стек технологий в виде ActionScript 3, Macromedia Flex, Flash Remoting составляет технологическую основу так называемых RIA (Rich Internet Applications) активно продвигаемых Adobe). RIA являются главными конкурентами Ajax.
См. также
- Comet (программирование)
- JavaScript
- Web 2.0
- Open Ajax
-
Библиотеки
-
- Google Web Toolkit — инструментарий для jQuery — JavaScript библиотека;
- Extjs — JavaScript библиотека;
- Ruby on Rails;
- Ruby on Rails;
- ZK Framework — бесплатная библиотека ZK Framework;
- PHP и
Ссылки
- Освоение Ajax — цикл статей на сайте IBM, посвящённый изучению AJAX.
- Перевод статьи «Новый подход к веб-приложениям»
- Модель Ajax
- Основы работы с Ajax
- Новости с зарубежных источников на русском о Ajax
Литература
- Дейв Крейн, Бер Бибо, Джордон Сонневельд Ajax на практике = Ajax in Practice. — М.: «Вильямс», 2007. — ISBN 978-5-8459-1327-2
- Дэниел Вулстон Ajax и платформа .NET 2.0 для профессионалов = Pro Ajax and the .NET 2.0 Platform. — М.: «Вильямс», 2007. — С. 464. — ISBN 1-59059-670-6
- Дейв Крейн, Эрик Паскарелло, Даррен Джеймс AJAX в действии: технология - Asynchronous JavaScript and XML = Ajax in Action. — М.: «Вильямс», 2006. — С. 640. — ISBN 1-932394-61-3
-
Wikimedia Foundation. 2010.