Использование технологии AJAX в системе управления контентом MODx

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

Термин AJAX расшифровывается как Asynchronous JavaScript and XML, то есть асинхронный JavaScript и XML. Подразумевается, что после загрузки веб-страницы в браузер и выполнения пользователем некоторых действий начинает работать программа на языке JavaScript, которая обращается в асинхронном режиме к серверу в интернете. При этом пользователь продолжает просматривать текущую страницу. На стороне сервера запрос обрабатывается программой, чаще всего написанной на языке PHP, и формируется ответ, отсылаемый обратно. Подразумевается, что запросы и ответы формируются на языке XML, но даже если этот язык не применяется, принято считать, что используется технология AJAX. Получив ответ сервера, программа на JavaScript обрабатывает его и выполняет необходимые действия по изменению фрагмента отображаемой веб-страницы. При этом остальная часть страницы остается неизменной.

Средства в MODx для реализации AJAX

Значительная часть работы при использовании AJAX лежит на программе, написанной на JavaScript. Для облегчения программирования рекомендуется использовать дополнительные библиотеки программ, и в составе MODx имеется одна из таких библиотек - MooTools. С ее помощью выполнять асинхронные запросы и менять фрагменты страниц при получении ответов чрезвычайно просто. При этом можно использовать и любую другую библиотеку, поддерживающую AJAX.

На стороне сервера поддержка AJAX не требует дополнительных усилий, и в принципе любая программа на языке PHP может обработать запрос и отправить ответ. Практически ничего в MODx не ориентировано именно на работу с AJAX, что бы ни утверждалось в рекламе. Вряд ли название AJAX CMS точно отражает сущность MODx, так как, прежде всего система ориентирована на традиционный подход к созданию веб-страниц. Вместе с тем разработчику сайта доступны некоторые средства, облегчающие построение веб-страниц с использованием AJAX, и прежде всего ему требуется выбрать вариант подхода, который он будет применять.

Два варианта реализации AJAX в MODx

В первом варианте реализации AJAX запрос к серверу обрабатывается в специальной программе, отличной от той, что используется при обычных запросах. При этом не загружается ядро MODx, а управление практически сразу передается программе, реализующей необходимые действия, написанной разработчиком сайта. Как следствие, запрос обрабатывается быстрее, и при этом не тратятся дополнительные ресурсы сервера. Однако все действия по формированию ответа приходится программировать самостоятельно, так как не загружена среда MODx и недоступны средства, автоматизирующие формирование веб-страниц. В данном варианте имеется возможность частичной загрузки среды MODx, что облегчит доступ к установленным в системе параметрам, хотя основные функции системы останутся недоступными.

При втором варианте асинхронный запрос обрабатывается точно так же, как и обычный. Полностью загружается ядро MODx и все средства автоматизации, доступные в системе. Это облегчает формирование достаточно сложных ответов, но резко снижает эффективность. Каждый асинхронный запрос создает дополнительную нагрузку на сервер, а время формирования ответа возрастает по сравнению с первым вариантом. Данный вариант для сервера ничем не отличается от обычной технологии, без использования AJAX.

Рекомендации по работе с AJAX в MODx

В большинстве случаев предпочтение следует отдавать первому варианту, так как он отличается большей эффективностью, хотя при этом потребуется написать более сложную программу для сервера. Следует отметить, что реализация достаточно сложных ответов на запросы не так трудна, как кажется с первого раза. При наличии опыта работы с PHP и MySQL и знания структуры базы данных, используемой MODx, такая работа может быть выполнена без особых усилий.

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

Дополнительно следует отметить, что использование библиотеки MooTools предпочтительнее других вариантов, так как имеется возможность получить сборку модулей, необходимых для реализации конкретной задачи. Совершенно не обязательно для реализации AJAX использовать полный комплект средств MooTools. Также можно отметить удобство программирования на JavaScript с использованием именно этой библиотеки.

Использование AJAX, однако, следует всегда тщательно обосновывать. Нередко асинхронные вызовы не улучшают качество сайта, а все необходимые данные можно загрузить вместе с первоначальной загрузкой страницы. Дальнейшую обработку следует поручить программе на JavaScript, которая, однако, не будет обращаться к серверу. Помните, что AJAX является современной перспективной технологией, но далеко не всегда необходимо ее использовать.

 

Реклама

Поиск на сайте

Введите ваш запрос для начала поиска.