Статичный веб-дизайн остался в прошлом. Забудьте о кнопке "Refresh". Перезагрузка страницы совершенно неприемлема для современных интернет-приложений, в которых применяется JavaScript и XML.
До недавнего времени веб-приложения значительно уступали обычному программному обеспечению практически по всем параметрам: начиная от внешнего вида и заканчивая интерактивностью. Но сейчас различия между этими видами ПО становятся все менее заметными. Об эволюции веб-приложений рассуждает Джесс Гарретт (Jesse James Garrett), основатель известной консалтинговой фирмы Adaptive Path. Его статья (www.adaptivepath.com/publications/essays/archives/000385.php) посвящена новой парадигме разработки интерактивных веб-приложений - Ajax.
Чтобы понять, о чем идет речь, достаточно взглянуть на такие веб-приложения, как Google Suggest или, например, Google Maps. Это интерактивные функциональные программы, которые в полной мере взаимодействуют с пользователем. При работе с ними информация на экране обновляется практически мгновенно, не заставляя дожидаться перезагрузки страницы. Это всего лишь два примера нового подхода к разработке веб-приложений, который Джесс Гарретт условно именует "Ajax", что означает "асинхронный JavaScript плюс XML", или, если быть более точным, "асинхронный JavaScript +CSS+DOM+XMLHttpRequest". Новая парадигма веб-программирования несет с собой фундаментальные изменения для всего интернета.
Парадигма Ajax подразумевает использование нескольких технологий, которые при совместном и правильном применении способны обеспечить принципиально новую функциональность веб-приложений:
- дизайн на основе XHTML и CSS, соответствующий рекомендациям W3C;
- динамическое отображение информации и интерактивность на основе DOM;
- обработка данных с использованием XML и XSLT;
- асинхронное получение данных с помощью XMLHttpRequest;
- и JavaScript, который объединяет все это вместе.
Каждая из этих технологий давно известна, но все вместе они дают кумулятивный эффект - это и есть Ajax. Новая парадигма полностью исключает архаичные методы разработки сайтов, в которых применялась классическая модель: клиент отправляет HTTP-запрос, сервер его обрабатывает и возвращает в ответ HTML-страницу. Эта модель, которая органично вписывается в гипертекстовую среду, не очень хорошо подходит для веб-приложений. Парадигма Ajax предусматривает гораздо более грамотный алгоритм обмена данными, как это наглядно показано на схеме.
Асинхронный обмен данными более приемлем с точки зрения юзабилити, потому что пользователю не придется смотреть в пустой экран, дожидаясь перезагрузки страницы. Интерфейс веб-приложения, однажды загрузившись, уже не исчезнет с дисплея. В идеале, пользователь вообще не должен замечать, когда приложение обратилось к серверу, потому что данные подгружаются в фоновом режиме мелкими порциями.
Рассуждая об Ajax, Джесс Гарретт перечисляет интернет-компании, которые применяют этот инновационный подход в веб-приложениях. Во-первых, это компания Google, которая разработала в соответствии с принципами Ajax программу Orkut, почтовую службу Gmail, последнюю бета-версию Google Groups, программу предсказания запросов Google Suggest и картографический сервис Google Maps. Многие подходы Ajax реализованы в сервисе для обмена фотографиями Flickr и поисковике A9.com. Все эти примеры показывают, что Ajax не только гармоничен с технологической точки зрения, но и может успешно использоваться в реальных приложениях. Это не какая-нибудь очередная "лабораторная" теория, а сугубо практический подход для разработки интернет-программ любого масштаба и предназначения.
Анатолий АЛИЗАР
Комментарии