Библиотека Интернет Индустрии I2R.ru |
|||
|
AJAX: новый облик WebТехнологии, лежащие в основе типичных Web-приложений, — HTML и HTTP — просты, но эта простота достигается немалой ценой. Поскольку обычные HTML-страницы не обеспечивают постоянной связи с сервером, разработчикам трудно строить интерактивные, чутко реагирующие на действия пользователя интерфейсы с возможностью обработки динамических данных. Технологии Java и Flash позволяют встраивать в Web-страницы апплеты, но они изменяют привычное поведение браузера, и это отпугивает пользователей. Взаимодействие с сервером обеспечивают элементы управления для привязки данных, предложенные компанией Microsoft, но многие разработчики неохотно применяют подобные фирменные расширения. К счастью, существуют и другие методы повышения уровня интерактивности Web-приложений, придуманные разработчиками. Эти методы все чаще классифицируются как AJAX: Asynchronous JavaScript and XML (асинхронные варианты JavaScript и XML). AJAX — это не какой-то конкретный продукт или технология, а обобщенное название несвязного набора методов, зачастую применяемых вместе. Иногда этот подход называют просто DHTML (Dynamic HTML — динамический HTML). Термин AJAX, придуманный Джессом Джеймсом Гарреттом из компании Adaptive Path, оказывающей консалтинговые услуги пользователям, быстро приобрел популярность как краткий способ описания технологий, обеспечивающих асинхронное взаимодействие Web-приложений с сервером. Методы AJAX в действии можно увидеть на таких сайтах, как Google Maps (www.googlemaps.com). Важнейшая особенность этих и других AJAX-приложений представлена первой буквой А этого акронима: асинхронный. В AJAX-приложениях HTML-страница, пересылаемая сервером Web-браузеру, содержит не только видимый контент страницы, но и активный клиентский программный модуль. Этот модуль работает в фоновом режиме, когда страница выводится в окне браузера, и взаимодействует с сервером в асинхронном режиме. При таких событиях, как нажатие клавиш или щелчок клавишей мыши, программа запрашивает с сервера дополнительные данные, которые она может после их получения разместить на воспроизводимой странице, не загружая ее заново целиком. В Web такой тип взаимодействия встречается крайне редко. Обычная процедура загрузки Web-страницы состоит из нескольких этапов. Сначала браузер отправляет серверу запрос с указанием URL; в ответ сервер передает браузеру контент, представленный HTML-страницей или байтами, составляющими изображение. Браузер воспроизводит полученный текст или изображение, а задача сервера на этом завершается — до следующего запроса. При поступлении нового запроса сервер отвечает на него, а браузер загружает новую страницу целиком. Пользователь замечает не только факт полного обновления страницы, но и ощутимую задержку, вызванную обменом данными между клиентом и сервером. Преимущества AJAX оценят прежде всего те, кто на собственном опыте знает, что такое Web-приложения с улучшенными реакциями на действия пользователя, не лишенные при этом возможности хранения обширных объемов данных и обращения с запросами к серверу. Помимо таких уже имеющихся функций, как автозавершение при вводе в формы и выполнение запросов без перезагрузки страницы целиком, легко представить себе и другие сценарии, где важную роль играет взаимодействие с сервером в реальном времени. Это, к примеру, проверка и исправление правописания, проверка допустимости данных и динамический расчет цен для продуктов сложной конфигурации. В решениях на основе AJAX могут применяться методы извлечения данных по запросу в сочетании с методами предиктивного кэширования для ускоренного выполнения операций. Грамотно составленные AJAX-приложения не меняют привычного для пользователя поведения браузера, — скажем, кнопка Back (Назад) выполняет свою прежнюю функцию. (При формировании закладки для страницы, выведенной AJAX-приложением, обычно требуется явная ссылка, так как URL стартовой страницы не отражает статус всего приложения.) AJAX привлекает разработчиков тем, что не относится к числу фирменных и объединяет в себе известные технологии. Но подготовка AJAX-приложения может потребовать значительных усилий и многостороннего тестирования. Безусловно, существенная часть операций взаимодействия клиента и сервера возлагается на объект JavaScript под названием XMLHttpRequest, тем не менее реализовать возможности AJAX гораздо сложнее, чем просто встроить в Web-страницу стандартные элементы управления HTML-формой. Кроме того, построение, отладка и сопровождение крупных JavaScript-сценариев могут быть сопряжены с трудностями. Можно разрабатывать AJAX-приложения с нуля, но дело пойдет быстрее, если взять за основу некий простой образец, например Ruby on Rails (www.rubyonrails.org) или Echo2 (www.nextapp.com/products/echo2). Есть еще «Atlas» — подобный AJAX набор расширений для ASP.NET 2.0, который Microsoft представила на конференции профессиональных разработчиков (Professional Developers Conference) в сентябре 2005 г. Большинству существующих ныне Web-приложений недостает чуткой реакции на действия пользователя и интерактивности, присущих программам с ГИП. Методы, подобные AJAX, помогут восполнить этот пробел, а Web-разработчики, занимающиеся проектированием современных интерфейсов, смогут проверить на практике возможности, открывающиеся перед ними и их пользователями благодаря этим методам. = Статьи по теме
Об авторе: |
|
2000-2008 г. Все авторские права соблюдены. |
|