Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #67, ИЮНЬ 2006 г.

созидательная сила AJAX

ALEXEY SHOCKOV

Спецвыпуск: Хакер, номер #067, стр. 067-052-1


(ALEXEY.SHOCKOV@SPLENDOT.COM)

ВЫБОР ЛУЧШЕГО ПОДХОДА К ДИНАМИЧЕСКОЙ ПОДГРУЗКЕ ДАННЫХ

РАЗЛИЧНЫЕ ТЕХНОЛОГИИ ДИНАМИЧЕСКОЙ ПОДГРУЗКИ ДАННЫХ (БЕЗ ПЕРЕЗАГРУЗКИ СТРАНИЦЫ) ПРИМЕНЯЮТСЯ УЖЕ ДОСТАТОЧНО ДАВНО, НО ПОЯВЛЕНИЕ ТЕРМИНА AJAX ЗАСТАВИЛО ВСЕХ ГОВОРИТЬ О НЕЙ. К СОЖАЛЕНИЮ, ИЗ-ЗА РАЗЛИЧИЙ БРАУЗЕРОВ ОТСУТСТВУЕТ ЕДИНАЯ КРОССБРАУЗЕРНАЯ РЕАЛИЗАЦИЯ ДАННОЙ ТЕХНОЛОГИИ. И КАК ЖЕ БЫТЬ, ЕСЛИ МЫ ВСЕ-ТАКИ ХОТИМ ИСПОЛЬЗОВАТЬ ЕЕ У СЕБЯ НА САЙТЕ?

Где как не в web’е может развернуться настоящий разработчик web-интерфейсов? В последнее время я не слышал ни одного восторженного отзыва об интерфейсах пользователя обычных программ (не считая продуктов фирмы Apple, которая всегда шокирует своими разработками), постепенно акцент смещается в направлении интернета.

Несмотря на это, web-разработчики в какой-то мере завидуют разработчикам оконных приложений. Разделение логики программы (находящейся на сервере) и пользовательского интерфейса заставляет придумывать все более изощренные пути быстрого обмена данными, чтобы хоть как-то приблизиться к своим соратникам-оконникам. Именно AJAX — одно из таких изощрений, о котором мы и поговорим.

[немного истории] Идея «удаленного программирования» (remote scripting) совсем не нова. Она зародилась еще в конце 90-х годов прошлого века с появлением в браузере Microsoft Internet Explorer элемента IFRAME и его альтернативы в браузере Netscape Navigator — LAYER. Эти два элемента имели атрибут SRC, который позволял им загружать другие документы без перезагрузки исходной страницы. Именно с помощью скриптов, которые содержались в подгружаемых страницах, и реализовывались всевозможные эффекты динамического взаимодействия с пользователем.

В 1998 году появилась технология MSRS (Microsoft's Remote Scripting), которая использовала Java-апплет как хранилище информации и JavaScript на web-странице для доступа к этому хранилищу. Позже было выпущено еще несколько библиотек, использующих различные подходы для подгрузки данных, к примеру JSRS и технология JavaScript on Demand.

2002 год можно считать датой рождения технологии AJAX. В этом году сообществом программистов microsoft.public.scripting.remote была предложена модификация, которая заменяла Java-апплет объектом XMLHTTPRequest в JavaScript. К 2005 году большинство используемых браузеров (таких как MS Internet Explorer и браузеры Mozilla) поддерживали этот объект для динамического доступа к данным.

[поподробнее, пожалуйста] AJAX не является технологией в полном смысле этого слова. AJAX — всего лишь термин, который обозначает совместное использование группы различных технологий для реализации динамической подгрузки данных на страницу. Этот термин подразумевает использование языка разметки HTML совместно с таблицами стилей CSS для представления данных, языка JavaScript и объектной модели документа (Document Object Model, DOM) для манипуляции данными и языка разметки XML для обмена информацией между сервером и клиентом.

На схеме №1 представлено сравнение традиционной модели web-приложения, в которой на запрос пользователя отсылается конкретный документ, и модели с использованием AJAX.

Содержание  Вперед на стр. 067-052-2