Чтение онлайн

на главную - закладки

Жанры

Журнал «Компьютерра» №32 от 06 сентября 2005 года
Шрифт:

Что происходит в недрах обычного динамического сайта? Стоит пользователю, например, кликнуть по ссылке или выбрать какую-нибудь опцию из выпадающего меню, как исполнительный браузер немедленно отправит полученную информацию на сервер. Неприученный к самостоятельной работе, браузер предоставляет другим решать все важные вопросы. Серверу необходимо разобрать поступившие данные, понять их и правильно отреагировать. В результате браузер будет удостоен ответа в виде новой полной веб-страницы. Да и сервер не всесилен, поэтому, если его начинают засыпать вопросами со всех сторон, он вполне может взять тайм-аут.

А как же главное действующее лицо - пользователь?

Ему остается покорно ждать, пока браузер с сервером решают свои проблемы и грузят для него новую страницу. Время ожидания складывается из «сообразительности» сервера и скорости интернет-соединения.

Неужто 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: разработчики подхватили старую идею и придумали ей новое применение.

Поделиться:
Популярные книги

Черный Маг Императора 6

Герда Александр
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
7.00
рейтинг книги
Черный Маг Императора 6

Барон Дубов

Карелин Сергей Витальевич
1. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов

Наука и проклятия

Орлова Анна
Фантастика:
детективная фантастика
5.00
рейтинг книги
Наука и проклятия

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Ваше Сиятельство 10

Моури Эрли
10. Ваше Сиятельство
Фантастика:
боевая фантастика
технофэнтези
фэнтези
эпическая фантастика
5.00
рейтинг книги
Ваше Сиятельство 10

Служанка. Второй шанс для дракона

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Служанка. Второй шанс для дракона

Камень. Книга восьмая

Минин Станислав
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
Камень. Книга восьмая

О, Путник!

Арбеков Александр Анатольевич
1. Квинтет. Миры
Фантастика:
социально-философская фантастика
5.00
рейтинг книги
О, Путник!

Солнце мертвых

Атеев Алексей Григорьевич
Фантастика:
ужасы и мистика
9.31
рейтинг книги
Солнце мертвых

Зайти и выйти

Суконкин Алексей
Проза:
военная проза
5.00
рейтинг книги
Зайти и выйти

Часограмма

Щерба Наталья Васильевна
5. Часодеи
Детские:
детская фантастика
9.43
рейтинг книги
Часограмма

Избранное. Компиляция. Книги 1-11

Пулман Филип
Фантастика:
фэнтези
героическая фантастика
5.00
рейтинг книги
Избранное. Компиляция. Книги 1-11

Надуй щеки!

Вишневский Сергей Викторович
1. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки!

Крутой маршрут

Гинзбург Евгения
Документальная литература:
биографии и мемуары
8.12
рейтинг книги
Крутой маршрут