emo - современный интернет, веб-разработка и графический дизайн глазами профессионала

Emo | Нет перезагрузкам! или Ajax: новая модель веб-приложений

14
03/2005

По большому счету, чем отличается ПО на вашем рабочем столе от онлайновых веб-приложений? Большая насыщенность интерактивными элементами и время их реакции – вот те основные проблемы, которые увеличивают дистанцию между веб-интерфейсами и их пользователями. Но эта дистанция начала сокращаться.

перейти к комментариям (12)

Вы уже знакомы с такими новинками как Google Suggest, Google Maps, Amazon Zuggest? Вероятно попадался вам и LiveSearch (Поиск в живую) на некоторых блогах их продвинутых владельцев? Все это теперь именуется не иначе как Ajax (технически – XMLHttpRequest).

Что такое Ajax?

Если говорить о ближайшем технологическом будущем Веба, то наверное Ajax (Аякс) можно назвать одним из наиболее реальных и ожидаемых эволюционных шагов.

По сути, Ajax это не технология, а их сумма, где каждое слагаемое развивается в своей самодостаточности и смешиваясь вместе с остальными слагаемыми в нечто новое и чрезвычайно мощное.

Среди основных составляющих Ajax можно выделить следующие:

  • совместимость с веб-стандартами о представлении данных, используя XHTML и CSS;
  • динамические отображение и взаимодействие с этими данными используя Document Object Model;
  • обмен данными и манипуляция данными используя XML и XLST.
  • асинхронное получение данных, используя XMLHttpRequest;
  • JavaScript как язык связующий все выше перечисленное;

Большинство сайтов работают следующим образом: загружается веб-страница, вы производите какое-либо действие (щелкаете по ссылке, вводите данные в форму и так далее), чем приводите в действие некий «спусковой механизм», который выполняет ваши действия в виде запроса к веб-серверу. Веб-сервер обрабатывает этот запрос, создает новую страницу и отправляет ее вам. А что делает пользователь, в то время как сервер обрабатывает полученные запрос и заново генерирует страницу? Увы, терпеливо ждет.

Хотя такой подход имеет под собой множество технических обоснований, для пользователя он имеет мало смысла. Собственно, почему он вынужден так много ждать?

Модель Ajax работает по-другому.

Как работает Ajax?

Суть методологии Ajax – это свести к минимуму цикл «передачи данных/пауза, ожидания ответа» и постараться сделать общение пользователя с конкретным веб-сайтом как можно ровнее.

Ajax – это как бы прослойка между пользователем и сервером, обычно загружаемая первой в скрытом фрейме, и которая следит за тем, чтобы данные подгружались только при необходимости и только те, что нужны.

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

По-большому счету, сердцем технологиии Ajax является XMLHttpRequest – объект языка JavaScript, который позволяет выполнять дальнейшие запросы к серверу, после того как сама страница уже загрузилась.

Однако не очень удобно пользоваться таким названием как «икс-эм-эл-аш-ти-ти-пи-риквест» и Джесс Джеймс Гэррет (Jesse James Garrett) из AdaptivePath предложил назвать эту совокупность технологии – Ajax (Asynchronous JavaScript + XML). Просто и звучно.

Что может Ajax?

Преимущества Ajax очевидны: существенное уменьшение времени на загрузку/передачи данных, а значит и времени реакции приложений на действия пользователя, улучшение интерфейсов веб-сайтов (делая их более близким к обычным десктоп-приложениям). Говоря коротко: «Нет перезагрузкам!»

Некоторые компании уже воспользовались этими преимуществами и вывели свои приложения на качественно новый уровень. Я говорю о Google (Goolge Suggest, Google Maps), Amazon (A9), 37Signals (Basecamp, WriteBoard, Ta-Da lists)

Однако настоящим испытанием являются не сами технологии, лежащие в основе Ajax – они-то как раз известны, документированы и понятны. Ajax – это вызов веб-разработчикам и дизайнерам, потому как именно на их плечи ложится задание перечеркнуть многие из ограничений, которые существует в Веб. Широта их взглядов и творческого мышления откроет нам двери в обновленную Сеть.

Хотя пройдет не мало времени, пока технология обкатается и станет доступна широкому кругу разработчиков, уже в ближайшее время, я с энтузиазмом ожидаю появления новых Ajax-основанных веб-сайтов. Мне очень интересно, куда сможет завести авторов, не боящихся экспериментов, творческих подход.

По сути, нас ждет нечто действительно новое в сайто-строительстве, эволюция, которая установит новые стандарты на веб-разработку.

Резюме:

Для тех кто хочет ознакомится более подробно с технологией Ajax, обратите внимание на эту ссылку:

XMLHttpRequest & Ajax Based Applications

Она объединяет большое число материала по этой теме, который постоянно увеличивается. Не забывайте посещать регулярно.

Написано 14/03/2005, 20:40. Автор: Юрий Поспелов.
Тэги: , , ,



Живой поиск

другие записи по тематике


MP4 to MP3 free
межкомнатные двери
Продажа новых автомобилей Lanos в Украине
Рекомендуем: Квартиры посуточно. Киев и пригород.


Комментарии

  1. от Сантил (http://www.santil.ru/)

    Да...действительно, это будущее, если конечно не начнут, через это ломать компы.
    И не наставят потом заплаток.

  2. от Остап Бредю ()

    Раньше подобные страницы считались верхом безобразия. Страницы, которые не кэшируются, письма, которые невозможно сохранить, выделение в этих приложениях не работает, с бэкспейсом проблемы... Единственное оправданное, что я видел, – это live search во всех его реализациях – именно потому, что применение скриптов там локально – только к поисковому полю (причём работать как поисковое поле – в минимальном объёме – оно будет даже без скриптов).

    А “аякс” – изобретение чисто маркетологическое, как правильно рассудили в одной дискуссии. XMLHttpRequest – одна из возможностей dHTML (просто до некоторого времени не всеми браузерами поддерживаемая), и приплюсовывать к dHTML XMLHttpRequest – абсурд. Можно ещё DOM приплюсовать. Или innerHTML.

  3. от Van (http://zoob.com.ru/)

    2 Остап Бредю:
    Тут имхо надо разделять web-страницы и web-приложения.
    На классических веб-сайтах действительно такие технолгии повсеместно внедрять смысла нет, а к примеру для каких-либо intranet-решений этот самый ajax-подход очень и очень к месту.

    2 Автор:
    А вот что скажете про этот подход?
    Как вообще оцените JSHTTPRequest, который получается вроде даже и лучше, чем XMLHttpRequest?

  4. от Janson (http://kinotest.ru/)

    Интересно !
    Давно применяю эту технологию, только не знал, что она так называется – AJAX.
    реализацию можно посмотреть на http://kinotest.ru

  5. от netklon (http://livejournal.com/~netklon)

    Google Suggest – не чистый Аякс, ибо данные там гоняются туда сюда в plain/text, а не xml.

  6. от mstar (http://kid.stu.cn.ua/~mstar/)

    Рекомендую программистам на пхп обратить внимание на xajax class (http://xajax.sourceforge.net/) Самая толковая и живая реализация AJAX технологии.

    example: http://www.myipnote.com/?action=ajax_contact_form

    source: http://www.myipnote.com/contact_form.zip

  7. от Lucky[S] ()

    Все хорошо в xajax, только вот он в Опере неработает, может кто-нибудь это уже исправил?

  8. от Shimon ()

    от Lucky[S]:
    Все хорошо в xajax, только вот он в Опере неработает, может кто-нибудь это уже исправил?

    У меня прекрасно работает в Opera 8.52.

    Все же отталкивают некоторые причины, такие как отсутствие возможности использования кнопки “назад”, и тп. Или например в той же Опере можно вернуться на страницу назад и посмотреть что и как заполнил в форме – с AJAX к сожалению не получается.

    Поэтому надо семь раз подумать нужно ли внедрять AJAX в некий элемент страницы, или все же по старинке перезагрузить всю страницу.

    В любом случае спасибо за статью.

  9. от Arij ()

    Все в Опере работает, токо с 9-ой версии (уже работает с асинхронной передачей данных)

  10. от Sasha Tinkoff ()

    Использую xajax на работе, мне нравится (я веб-программист в компании, поддерживаю внутренний сайт).
    Небольшая проблема, с которой столкнулся – у некоторых пользователей вместо подгружаемых данных появляется сообщений (на метод $xajax->statusMessagesOn()) “sending request” и больше ничего. Стоит explorer sp4. Третий день бьюсь, ничего не могу сделать!

    Или например в той же Опере можно вернуться на страницу назад и посмотреть что и как заполнил в форме – с AJAX к сожалению не получается.

    Кидай в окружение через putenv, я так делаю

    Если знаете ответ на мою проблему напишите на асю 227984912 или на ящикПЛЗ!!!

  11. от Wedding (http://www.bestdressforwedding.com/)

    AJAX годится только для разработки интранет-сайтов и пользовательских интерфейсов. Если вы хотите получать трафик с поисковых машин, не замусоривайте код страницы, это сильно ухудшает позиции сайта в поисковиках!

  12. от ksi (http://www.podcheckreview.com)

    Ребята, Опера плохой браузер. : ) А по теме, так Аякс будущее, причём нереальное! Будем его продвигать в народ!



Оставить комментарий

Поле email должно быть обязательно заполнено. Конечно же, ваш email не будет отображаться при выводе комментария либо использоваться публично в других целях.

имя

email

URL

Комментарий

Как писать комментарии на Textile