JavaScript-библиотеки с поддержкой XHR

Поскольку в составлении XHR-запроса нет ничего секретного, каждый желающий может практически с нуля написать свои функции для динамической загрузки содержимого. Однако такой подход нельзя назвать рациональным, и для рядового разработчика выгоднее использовать готовые библиотеки, которые сэкономят его время, сгладят межбраузерные различия и дадут дополнительные возможности.
Популярных библиотек больше десятка, мы же рассмотрим и сравним три: jQuery, MooTools и JsHttpRequest. Основных отличий JsHttpRequest от jQuery и MooTools два:
Ориентированность на динамические запросы к серверу без перезагрузки. Иными словами, JsHttpRequest умеет делать только одно – запросы к серверу, но делает это очень хорошо, поддерживает множество браузеров, позволяет закачивать файлы на сервер и т.д. jQuery и MooTools имеют богатый дополнительный функционал, такой как селекторы, манипуляция с DOM-элементами документа и т.д.
JsHttpRequest состоит из 2х частей – клиентской и серверной. Серверная часть представляет собой php-скрипт. jQuery и MooTools содержат только клиентскую часть, реализация серверного функционала лежит на разработчике.

Несмотря на то, что JsHttpRequest не имеет встроенной возможности поиска элементов и манипуляции ими, она совместима с библиотекой Prototype, что увеличивает её функционал. В то же время для jQuery и MooTools существуют плагины (для jQuery, например, их свыше 500).
Из-за встроенных средств и многообразия плагинов, jQuery является практически универсальным решением для написания функционала веб-страниц. Ведь асинхронные запросы – лишь часть из возникающих перед разработчиком задач. Часто jQuery используют только для эффектов и манипуляций с DOM, в этом случае от «Query» остаётся лишь название :).
Таким образом, если требуется реализовать Ajax на странице либо отправку форм/файлов – используйте JsHttpRequest. Если нужно получить решение «всё-в-одном» – используйте jQuery/MooTools. В этом случае для отправки файлов на сервер необходимо будет подключить один из плагинов. Использовать jQuery или MooTools – вопрос личных предпочтений.
Если вы интересуетесь технологией Ajax, задавайте интересующие вас вопросы в комментариях к этой статье. Мы постараемся ответить на них в следующих статьях, посвященных Ajax.