l:href='#script.woweb.ru'>script.woweb.ru).
На первом вы найдете множество отличных статей на самые разные темы, так или иначе связанные с разработкой веб-сайтов. Одни заголовки разделов чего стоят: «Flash», «Photoshop», «Базы данных», «Apache», «Истории веб-мастеров», «Веб-технологии», «Программирование для Web» и др.
Второй сайт - неистощимый источник скриптов для всего Рунета. Их там тысячи, причем категории самые разные: «PHP», «Perl», «Java-апплеты», «JavaScript», «ASP» и т. д.
В англоязычном Интернете скрипты, написанные на PHP, Perl, Java и ASP, можно найти на ресурсе Hot Scrpits (www.hotscripts.com); там около десяти тысяч скриптов на самые разные темы.
Понять преимущества альтернативного подхода сможет лишь тот, кто знает о недостатках традиционного.
Что происходит в недрах обычного динамического сайта? Стоит пользователю, например, кликнуть по ссылке или выбрать какую-нибудь опцию из выпадающего меню, как исполнительный браузер немедленно отправит полученную информацию на сервер. Неприученный к самостоятельной работе, браузер предоставляет другим решать все важные вопросы. Серверу необходимо разобрать поступившие данные, понять их и правильно отреагировать. В результате браузер будет удостоен ответа в виде новой полной веб-страницы. Да и сервер не всесилен, поэтому, если его начинают засыпать вопросами со всех сторон, он вполне может взять тайм-аут.
А как же главное действующее лицо - пользователь? Ему остается покорно ждать, пока браузер с сервером решают свои проблемы и грузят для него новую страницу. Время ожидания складывается из «сообразительности» сервера и скорости интернет-соединения.
Неужто AJAX способен избавить веб-интерфейсы от извечной заторможенности? Что ж, популярные Google-сервисы показали, что приложения в Сети способны работать гораздо проворнее, чем привыкли ожидать терпеливые пользователи.
Вернемся к технической начинке «нового веба». Браузер получает в свое распоряжение XML-файл. Далее на арену выходят еще два игрока - JavaScript и XMLHttpRequest. Первый из них выступает в роли распорядителя, а второй отвечает за получение информации с сервера.
XMLHttpRequest играет немалую роль в рождении «чуда». Именно он позволяет тихонько отправлять асинхронные запросы серверу через протокол HTTP и столь же незаметно получать всю необходимую информацию в виде XML[Строго говоря, могут использоваться и другие форматы - например, plaintext].
Скажем, вы пытаетесь ввести какое-то слово в окошко поиска на Google Suggest. С помощью XMLHttpRequest браузер отправляет запрос на сервер и ожидает ответа. Сервер присылает необходимые данные в виде XML. Расторопный JavaScript разбирает полученные данные и заботливо заворачивает их в HTML-теги. Момент… и ниже окна поиска отобразилось несколько полезных «подсказок».
Можно использовать и более изящное решение, если привлечь «запасного игрока» - XSL. Получив в свое распоряжение XML-файл и XSL-шаблон, современный браузер способен сгенерировать правильную HTML-страницу. Таким образом, в его «голове» оказываются сами данные, их структура и внешний вид для пользователя. «Поумневшая» программа - настоящая находка для JavaScript’а, которому по долгу службы в AJAX приходиться управлять информацией. Скрипту доступен XML-образ веб-страницы, который заботливо хранит в своей памяти браузер, поэтому манипулирование данными не составляет для него особого труда.
Ловкая комбинация технологий - и никакого мошенничества. Короче говоря, часть функций сервера по сборке итоговой страницы из данных и таблиц переходит к браузеру, вооруженному JavaScript’ом.
«Компьютерные шрифты» от портала Gets.Ru (fonts.gets.ru). Несколько тысяч шрифтов удобно разбиты по категориям: «3d-шрифты», «Компьютерные», «Декоративные», «Плакатные», «Символьные» и др. Есть шрифты русских разработчиков, есть и англоязычных.
«Шрифты на Woweb» (font.woweb.ru) - еще один ресурс по этой теме. Многие шрифты, конечно, вы уже могли найти на Fonts.Gets.Ru, но достаточно и тех, которые добавлены специально для Font.Woweb.Ru. Именно тут можно найти оригинальные шрифты, подходящие для создания логотипа или другой графической работы.
Преимущества AJAX очевидны - сэкономленное время и трафик, ожившие интерфейсы, счастливые пользователи. Но столь же очевидны и недостатки.
AJAX не может похвастать универсальностью. Используя этот подход, программистам приходится изворачиваться, чтобы порадовать поклонников различных браузеров. Конечно, эти технологии поддерживаются всеми заслуживающими внимания программами - Mozilla Firefox, Microsoft Internet Explorer, Opera, Konqueror и Apple Safari. Однако отдельные компоненты могут вести себя непредсказуемо в браузерах различных производителей. Как всегда, именно «мелкая несовместимость» способна омрачить радость приобщения к «новому вебу», поэтому приложения приходится дотошно тестировать. К счастью, разработчики объединили усилия, и теперь в Сети можно найти библиотеки, решающие проблемы с совместимостью.
Самое досадное ограничение - JavaScript в браузере обязательно должен быть включенным. А контроль за этим целиком и полностью находится в руках пользователя. Особо мнительные субъекты, «продвинутые» в вопросах безопасности, имеют привычку отключать все «лишние» возможности. И такой «спартанский» браузер, разумеется, не сможет порадовать своего владельца чудесами «нового веба». С другой стороны, один из горячих поклонников AJAX привел весьма остроумный контраргумент: «Вы никогда не увидите картинок, если отключите их в своем браузере… Ваш компьютер перестанет работать, если вы выдернете вилку из розетки… На свете и так слишком много вещей, которые можно отключить».
Подобные утверждения не убеждают противников «нового веба». Ведь есть же последняя и самая страшная заповедь, которую нарушает этот подход, - юзабилити.
В AJAX-приложениях не работает знакомая каждому кнопка «Back». С точки зрения программиста, такой саботаж вполне объясним: браузер хранит историю перемещения пользователя по страницам, а в AJAX контроль отдается в руки приложения, где нет понятия отдельных страниц, - и «цепь времен» разорвана. Пользователь же убежден, что любимая кнопка должна работать всегда и везде. Приходится выдумывать дополнительные трюки, которые имитируют правильную работу злосчастной кнопки в AJAX.
Но этим дело вовсе не ограничивается. Эксперты по юзабилити неожиданно вспомнили, что хваленый подход будет работать лишь в графических браузерах, а пользователи того же Lynx останутся «с носом». Что на это можно возразить? Лишь еще раз вспомнить о том, что идеал, увы, недостижим, и продолжить создавать веб-приложения с шустрым интерфейсом.
Похоже, что хитренький автор из Adaptive Path, чья статья была многократно растиражирована в Сети, оказался не так уж неправ. Конечно, наивно называть «новым вебом» подход, технологическую начинку для которого придумали в незапамятные времена. Да, технологии известны давно, и их комбинация, отдаленно напоминающая AJAX, была впервые использована Microsoft аж семь лет назад.
Как ни странно, призрак AJAX довольно давно тревожит умы и отечественных программистов. В России этот подход, пожалуй, даже нашел новые сферы применения. Например, родственная комбинация технологий под названием LCD (Live Client Documents)[Разрабатывается компанией BYTE-force с 2000 года] легла в основу системы управления контентом. Здесь отсутствуют асинхронные запросы к серверу, то есть «чудеса» можно наблюдать, даже отключившись от Интернета, связь потребуется лишь для сохранения изменений. Однако об удобных приложениях с быстрыми интерфейсами, оперативно реагирующими на каждый «чих» пользователя, заговорили лишь в этом году. Бесспорно, немалую роль в этом сыграл Google: разработчики подхватили старую идею и придумали ей новое применение.