Главная » Ajax
Когда существующих возможностей становиться мало, а совершенствоватьсуществующее уже некуда, тогда и происходит технологический прорыв.Таким прорывом и есть AJAX (Asynchronous JavaScript and XML) - подход кпостроению пользовательских интерфейсов веб-приложений, при которомweb-страница, не перезагружаясь, сама догружает нужные пользователюданные. AJAX - один из компонентов концепции DHTML.Что же дает нам эта технология. В настоящее время разработкаWEB приложений стремится к разграничению клиентской части и серверной,этим и обуславливается повсеместное использование шаблонов, таких какSmarty и XSLT. Сейчас проекты становятся сложнее, и переплетать междусобой различные технологии становиться слишком дорого для времениразработчика. Так, например, все стили форматирования выносятся в CSSили в XSL файлы, HTML или XML данные хранятся в других разделах,серверные обработчики в третьих, базы данных в четвертых. И если еще5-6 лет назад практически везде можно было увидеть переплетение всегоэтого в одном файле, то сейчас это все чаще становиться редкостью.При разработке более сложных проектов возникает необходимость вструктурированности и удобочитаемости кода. Не следует засорять кодпрограммиста кодом верстальщика, а код верстальщика - правкамидизайнера, и так далее. Возникает необходимость в разграничении работы. Так, например,дизайнер будет делать свою работу, верстальщик свою, программист свою,и при этом никто друг другу мешать не будет. В итоге каждому участникупроекта достаточно будет знать только те данные, с которыми емупридется работать. В таком случае производительность группы и качествопроекта повышается в разы. В настоящее время эта проблема с успехомрешается путем использования шаблонов, однако это тоже создаетопределенные трудности, так как чтобы, скажем, подключить Smarty,необходимо подключить программный модуль обработки шаблонов, и четкосвязать со структурой проекта. А это далеко не всегда возможно итребует определенных затрат. Немного проще при использовании связки XML+ XSL, так как они предоставляют больше возможностей, однако этоальтернатива, не более. А что если посмотреть в сторону чего-торадикально нового, что позволяло бы объединить все лучше, используявозможности того, что есть? Попробуйте представить JavaScript, которыйобладает всем возможностями PHP или Perl, включая работу с графикой ибазами данных, который имеет гораздо более удобную расширяемость ипрактичность, и к тому же кросс-платформен. Так что же такое AJAX? Впервые об Ajax заговорили послепоявления в феврале 2005-го года статьи Джесси Джеймса Гарретта (JesseJames Garrett) "Новый подход к веб-приложениям". Ajax - это несамостоятельная технология. Это идея, которая базируется на двухосновных принципах.Использование DHTML для динамичного изменения содержания страницы.Использование XMLHttpRequest для обращения к серверу "на лету".Использование этих двух подходов позволяет создавать намногоболее удобные WEB-интерфейсы пользователя на тех страницах сайтов, гденеобходимо активное взаимодействие с пользователем. Использование Ajaxстало наиболее популярно после того, как компания Google начала активноиспользовать его при создании своих сайтов, таких как Gmail, Googlemaps и Google suggest. Создание этих сайтов подтвердило эффективностьиспользования данного подхода.Итак подробнее: если взять классическую модель WEB-приложения:
Клиент, набирая в строке поиска адрес интересующего его ресурса,попадая на сервер, делает к нему запрос. Сервер производит вычисления всоответствии с запросом, обращается к базе данных и так далее, послечего полученные данные идут клиенту и, в случае необходимостиподставляются в шаблоны и обрабатываются браузером. Результатомявляется страница, которую мы видим, и которую 80% населения странынаходящейся в WEB называют Интернетом. Это классическая модель, котораяуспела себя зарекомендовать и заслужить себе почетное место подсолнцем. Это самая простая модель взаимодействия и, как следствие,самая распространенная. Однако ее все чаще становиться недостаточно.Представьте себе, on-line игру "Морской бой", в которую играют двазакоренелых друга - житель ЮАР и житель Японии. Как с помощью такоймодели сделать их игру максимально приятной? В любом случае данныепотопленных кораблей будут хранится на сервере, и что бы проверить непоходил ли оппонент, необходим будет каждый раз обновлять страницу иподгущать устаревшие данные. "Но ведь люди придумали кэширование" -скажете вы и будете абсолютно правы, но легче от этого не становиться.Кэширование всего лишь ускорит время взаимодействия с сервером, но неизбавит от необходимости перезагружать страницу. Как вариант можнопоставить определенное время самообновления, но и в этом случаестраница будет перезагружаться полностью.Теперь посмотрим на модель взаимодействия AJAX:
Последовательность действий клиента сохраняется и он, скорее всегоне поймет того, что будет происходить, а слово AJAX будетассоциироваться только с названием футбольного клуба. Но на сторонесервера все выглядит иначе. При обращении к серверу, генерируется страница, которая будетотображаться пользователю, и предлагать ему совершить интересующую егопоследовательность действий. При сознательном (хотя и не обязательно)выборе клиента, его запрос будет обращаться к AJAX модулю, который ибудет производить все интересующие его вычисления и работу с серверомкак таковым. Но в чем же новшество? Основное отличие в том что этотметод дает нам возможность динамически обращаться к серверу и выполнятьинтересующие нас действия. Например, нам нужно выполнить обращение кбазе данных и получить интересующие нас данные которые затем будемиспользовать. Данные мы будем хранить в XML файле который будетформироваться динамически, таким образом: Категория: Web технологии | Просмотров: 236 анализ мочи