This version of the page http://www.sidstudio.com.ua/sscc0fe30.4ha2ur0qk0ha.html (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2008-01-20. The original page over time could change.
Эксклюзивный ВЕБ дизайн. Создание ВЕБ сайтов. CD презентации. Flash анимация. Мульты. Статьи
Разработка сайтов. Качественные веб сайты. Решения для бизнеса и e-commerce. Корпоративные сайты, сайты-визитки, презентации. юч.Разработка сайтов. Качественные веб сайты. Решения для бизнеса и e-commerce.
Главная
О Компании
Портфолио
Заказчикам
Форум
Семинары
НОВОСТИ

22 декабря 2007
В раздел "Статьи" добавлена новая публикация Игоря Лысенко - "Мультимедиа презентация как прогрессивный инструмент рекламной компании".

Мульт - лаболатория
 
Главная • Заказчикам • Статьи
Статьи
Ускорение работы web-приложений с помощью технологии Ajax

Возраст Сети Интернет перевалил за 30 лет. Она входит в пору зрелости. Точно так же в пору зрелости входят и Инетрнет-приложения. Все больше и больше компаний строят на базе сети распределенные корпоративные решения, системы документооборота, планирования и отчетности. Для таких систем особенно остро встает проблема скорости отображения информации. Существует как минимум 2 подхода ее решения: увеличение пропускной способности Интернет-каналов. И применение новых технологий отображения информации на страницах Интернет приложений.

Одной из таких технологий стал Ajax.

Asynchronous JavaScript and XML «асинхронный JavaScript и XML» — это подход к построению интерактивных пользовательских интерфейсов web-приложений.
При использовании Ajax web-страница не перезагружается полностью в ответ на каждое действие пользователя, а догружаются только нужные пользователю данные.
Таким образом, страница загружается асинхронно. Асинхронность проявляется в том, что далеко не каждый клик пользователя доходит до сервера, а также далеко не каждая реакция сервера обусловлена запросом пользователя. Большую часть запросов формирует сам AJAX, причем его можно написать так, что он будет загружать информацию, предугадывая действия пользователя. AJAX самостоятельно определяет, какие запросы можно обработать "на месте", а за какими необходимо обращаться на сервер.
Асинхронная загрузка отличается тем, что процессы загружаются независимо друг от друга, поэтому главные элементы web-страницы уже не ждут своей очереди. Это очень ускоряет перегрузку страницы.
Асинхронный обмен данными более приемлем с точки зрения юзабилити, т.к. пользователю не придется смотреть в пустой экран, дожидаясь перезагрузки страницы. Интерфейс web-приложения, однажды загрузившись, уже не исчезнет с дисплея монитора. Пользователь вообще не должен замечать, когда приложение обратилось к серверу. Этого можно достигнуть подгружая данные в фоновом режиме мелкими порциями.

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

Ajax базируется на двух основных принципах:

  1. использование DHTML для динамического изменения содержания страницы;
  2. использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью.

Использование этих двух принципов позволяет создавать намного более удобные web-интерфейсы на тех страницах сайтов, где необходимо активное взаимодействие с пользователем.
Новая идея полностью исключает архаичные методы разработки сайтов, в которых применялась классическая модель «клиент-серверной» архитектуры: клиент отправляет HTTP-запрос, сервер его обрабатывает и возвращает в ответ HTML-страницу. Эта модель, которая органично вписывается в гипертекстовую среду, не очень хорошо подходит для web-приложений. Технология Ajax предусматривает более грамотный алгоритм обмена данными, как это наглядно показано на рисунке 1.


Рисунок1 - Алгоритм обмена данными в технологии Ajax.

При помощи AJAX разработчики могут создавать интерактивный пользовательский интерфейс, сопоставимый с интерфейсом настольных приложений.
Разработчики могут использовать преимущества XML и web-сервисов для извлечения информации из внутренних источников данных.
Но не стоит сейчас все бросать и знакомится с Ajax. Сначала следует взвесить также и недостатки данной технологии.

На текущий момент технология AJAX не стандартизирована, в связи с чем большое количество построенных на ней сайтов корректно работают не во всех браузерах.
В настоящее время специалисты W3C заняты стандартизацией программного интерфейса XMLHttpRequest, являющегося важной составляющей AJAX. Именно XMLHttpRequest отвечает за пересылку XML-данных по протоколу HTTP между браузером и web-сервером.
Несмотря на то, что AJAX использует стандарты XML и JavaScript, оба из которых являются открытыми, далеко не все AJAX-приложения корректно взаимодействуют друг с другом и с web-браузерами. Связано это с особенностями реализации AJAX-библиотек от различных разработчиков.
На многих браузерах AJAX-приложения просто не работают (хотя последние версии IE, Firefox и даже Opera - начиная с восьмой версии - нормально его поддерживают), а те браузеры, которые поддерживают Ajax, делают это совершенно по-разному.

Ещё одной неприятной особенностью Ajax является невозможность использования закладок и кнопок "вперед-назад" в стандартных браузерах. Это связано с тем, что обычно огромное количество данных находится формально на одной и той же странице. Наши браузеры тоже считают такое приложение одной страницей, поэтому при обновлении кнопки "вперед-назад" не работают, поэтому нельзя вернутся, если что-то было пропущено, а закладки в этом случае просто бесполезны.
Архитектура AJAX предполагает совершенно иной подход к созданию приложений, иной подход к созданию интерфейсов и, очевидно, годится далеко не для всех задач.
Но, несмотря на вышеперечисленные недостатки такие фирмы, как Google успешно применили данную технологию в 2004 году своем проекте Gmail. Это был первый реально работающий проект с применением технологии Ajax.
Также можно увидеть применение данной технологии в таких web-приложениях, как Google Suggestили, например, Google Maps. Это интерактивные функциональные программы, которые в полной мере взаимодействуют с пользователем, информация на экране обновляется практически мгновенно, не заставляя дожидаться перезагрузки страницы.

Для того чтобы написать что-то с применением Ajax необходимо хорошо знать JavaScript. Но что делать тем людям, которые поклонники PHP и Perl? Все очень просто :).
Для Perl решением стали модули HTML::AJAX и CGI::AJAX, а для PHP библиотека xajax(и подобные)(xajaxproject.org) - "легкий" AJAX

Xajax – Это открытый код с интегрированной библиотекой, написанной на PHP. Его главная задача – это асинхронный запрос серверной PHP функции и динамическое изменение содержания, графики web-страницы без ее перезагрузки. Xajax объект генерирует функциональную оболочку JavaScript для каждой пользовательской серверной PHP функции. Функции xajax используют стандартный запрос XMLHttpRequest объекта и устанавливают связь с Xajax на сервере, вызывая соответствующую PHP функцию, которая отвечает за обработку конкретного запроса. После завершения обработки серверного запроса Xajax возвращает XML ответ, который был сформирован PHP функцией. Такой ответ содержит инструкции и данные, которые затем обрабатываются JavaScript модулем сообщений и используются, чтобы динамически обновлять содержание страницы. При использовании xajax не потребуется почти никаких знаний JavaScript. Эта библиотека значительно облегчает написание AJAX приложений различной сложности.

Целесообразным является применение Ajax в следующих целях:

  1. при работе с формами. Они очень медленны. Если асинхронно передавать данные, страница не будет перезагружаться;
  2. при организации навигации в виде "дерева";
  3. при организации системы голосования;
  4. при создании системы комментариев. Пользователю больше не придется перегружать страницу, чтобы увидеть новые комментарии;
  5. при создании фильтров. Часто на сайтах делают сортировку по дате, по имени, и т.д. С AJAX это будет значительно удобнее;
  6. при создании функции автозаполнения (при написании одинаковых слов – выдаются варианты, и для выбора одного из них пользователю достаточно кликнуть мышкой).

Не стоит применять AJAX при реализации:

  1. поиска;
  2. обычной навигации;
  3. обновлений большого количества текста;
  4. бесполезных украшений.
Ирина Мирошниченко
Список статей
Внимание! перепечатка и использование материалов этого раздела возможно только при наличии ссылки на сайт компании SiDStudio: http://www.sidstudio.com.ua
 
 
E-mail:info@sidstudio.com.ua
тел. (044) 228-40-04
 
ОТПРАВИТЬ СООБЩЕНИЕ
Имя:
E-mail:
Содержание сообщения:
Отправить