Несколько слов об AJAX
Саша Ложечкин в своем посте «Массовый психоз Ajax» поднял вопрос о том, стоит ли использовать AJAX.
Не отрицаю, аббревиатура AJAX стала новым buzzword (модное маркетинговое словечко). Но в то же время, за ширмой этого buzzword все-таки присутствует довольно мощная технология, которая позволяет сделать сайт более привлекательным для пользователя.
К сожалению, аббревиатура AJAX не всегда правильно используется, часто AJAX-ом называют просто некоторую динамику на странице (мода, однако). Думаю, что есть необходимость дать некоторые пояснения по этой технологии.
Во-первых, что из себя представляет AJAX? AJAX – это возможность обращаться за данными без перезагрузки страницы. Для примера возьму страницу выбора страны и города в стране. Тут есть 3 способа реализации:
- загружать список стран и при выборе страны загружать заново страницу с заполненным списком городов для выбранной страны;
- загружать список стран и весь список городов, а при выборе страны динамически отфильтровывать те города в списке, которые соответствуют выбранной стране;
- загружать список стран и при выборе страны загружать с сервера только список тех городов, которые соответствуют выбранной стране, без перезагрузки страницы, а только с динамической привязкой к элементу страницы (AJAX).
В результате получается небольшая нагрузка на веб-сервер, страницы быстрее работают и грузятся.
Во-вторых, AJAX предназначен для работы с данными: заполнение различных динамических форм, операции с данными на сервере. Если Вы используете AJAX для отображения какого-либо контента, то позаботьтесь о том, чтобы можно было получить доступ к данным и традиционным способом – через URL (например, версия для печати, которая будет открываться в отдельном окне с указанием URL прямого доступа и без динамики на странице).
В-третьих, AJAX использует технологии, которые часто достаточно сильно отличаются не только у различных производителей браузеров, но и в различных версиях браузера одного производителя. Позаботьтесь о пользователе, сделайте статичную версию страниц (у Google есть динамическая AJAX и статическия версии работы с почтой).
Пока присутствует война браузеров и отсутствует единое понимание производителей браузеров об объектной модели документов и применяемых технологиях, на AJAX можно ориентироваться лишь второстепенно. Основным способом разработки все-еще остается старая добрая технология работы через отправку запроса веб-серверу без использования AJAX.
PS: Саша упомянул в конце поста о смартклиентах, как об основной альтернативе AJAX в плане обеспечения динамичной работы. На мой взгляд, некорректно сравнивать две разные технологии, которые не пересекаются. Да, они несколько похоже решают некоторый задачи обработки данных, но основа у них разная, разные задачи они решают: веб-среда позволяет получить доступ с любого компьютера и работать с некоторыми ограничениями, а Win-среда позволяет сделать rich-интерфейс (функционально наполненный), но не всегда легко переносимый.
