На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Сайтостроительство » Web-программирование

AJAX: новый облик Web

AJAX: Asynchronous JavaScript and XML (асинхронные варианты JavaScript и XML)

Технологии, лежащие в основе типичных 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-разработчики, занимающиеся проектированием современных интерфейсов, смогут проверить на практике возможности, открывающиеся перед ними и их пользователями благодаря этим методам. =

Статьи по теме

Об авторе:
Джон Клаймен — президент фирмы Narrative Logic, оказывающей консалтинговые услуги в сфере технологий, и внештатный редактор PC Magazine


Источник: PC Magazine/RE №2/2006

Спонсор раздела

Рассылки Subscribe.ru:

Библиотека сайтостроительства - новости, статьи, обзоры
Дискуссионный лист для web-разработчиков
Подписка на MailList.Ru
Автор: NunDesign
Другие разделы
Оптимизация сайтов
Web-студии
» Новое в разделе
Web-дизайн
Web-программирование
Интернет-реклама
Раскрутка сайта
Web-графика
Flash
Adobe Photoshop
Рассылка
Инструменты вебмастера
Контент для сайта
HTML/DHTML
Управление web-проектами
CSS
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100