вторник, 27 мая 2008 г.

Mind-log javascript and ajax. jQuery.

Сброс мыслей. Javascript, ajax.

Год назад, как раз примерно во время всеобщей ajax-шумихи, давнишний клиент озаботил меня очередным заказом. Вместо того чтоб писать нагромождение обработчиков (сложная страница, множество форм, коменты и прочее), я решил заюзать новомодную фишку - ajax.
Перепробовав множество реализаций, остановился на xAjax Привлекла вполне понятная структура, браузеронезависимость, относительная гибкость использования. Причуда xAjax`а в том, что для нормальной работы нужно описать и поименовать в соответствии с определенными правилами все функции (причем, и php- и javascript-), которые затем будут использованы в ajax-связке. Сейчас мне это кажется извращением. Но тогда я, покурив мануалы, примеры и гугл, понял и логику и стал использовать xAjax. Даже написал универсальный конструктор для cms Joomla, в котором описывал все используемые функции, а он сам строил жабаскрипт-часть для браузера и подготавливал всю эту связку к работе. Этот фарш до сих пор работает в упомянутом проекте.
Да, сейчас я считаю такой подход диким извращением. Рядом с ним даже садо-мазо-хентай - это дети в песочнице :)
А все почему? Потому что однажды я наткнулся в сети на (та-дааам!) jQuery. Что? Кто-то там кричит о Prototype и Yahoo UI ? Вы ошиблись номером. Абонент недоступен и вообще, закройте браузер; нам с вами не по пути :)
Что же хорошего предлагает jQuery? Это не только и не столько ajax-приблуда, сколько быстрый, гибкий, легко масштабируемый (система плагинов), простой в использовании и очень мощный фреймворк (хотя сами разработчики называют его скромно - "library" - библиотека). А ajax - всего лишь одна из многочисленных фишек, поддерживаемых нативно. Кроме того, в gzipped состоянии весит всего 16К. Замечательная особенность jQuery - многовариантность подходов к выборке объектов: можно использовать как непосредственно DOM-элементы, так и CSS-селекторы. Причем, в последнем варианте учитываются CSS 1,2 и немного от CSS3.
Что же касается ajax, могу сказать, что в jQuery самая лучшая реализация из виденных мной. Никаких "ответных частей" в php специально для аякса писать не надо. Можно использовать один и тот же код и для формирования обычных страниц, и для ajax-ответа. Кстати, присутствует нативная поддержка JSON (!), XML и прочих вкусностей.
Если кому-то стало интересно прочитать более авторитетный отзыв о jQuery, вам сюда. А мне пора за работу.
---
P.S. John Resig заплатил мне 10 килоевров за эту заметку. ;)

Комментариев нет: