Friday, July 27, 2007

Опыт использования AJAX-библиотеки Mootools

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

Мое знакомство с ней произошло совсем недавно, после того, как я получил заказ на разработку компонента аналогичного Google Calendar. Одним из требований было использование Mootools.

Прежде всего я нашел официальный сайт разработчиков, прочитал описание и посмотрел демонстрацию возможностей библиотеки. Отметил для себя поддержку drag&drop и масштабирования блоков контента, которые будет необходимо реализовать в календаре. В целом демонстрация возможностей впечатлила. Однако документации в ее привычном виде я так и не нашел. Та документация, которая предоставляется разработчиками есть не что иное как комментарии к классам и методам. При скачивании имеется возможность выбрать методо сжатия (обрезка комментариев, сжатие кода и т.д.). Я скачал код без сжатия со всеми комментариями.

Несмотря на демонстрационные примеры, для использования Mootools в своем проекте пришлось смотреть код и читать комментарии. Но разобрался я во всем довольно быстро. И приступил к работе.

Для меня главное преимущество использования готовых библиотек в том, что они уже протестированы под разными браузерами. Именно на тестирование и отладку у меня обычно уходит много времени (до 50%). В этом отношении Mootools не подвела.

С использованием библиотеки код получался краткий и работа шла быстро.

Первая загвоздка возникла с перемещением блоков. В Mootools имеется метод, который делает элемент перемещаемым, но обратного действия не предусмотрено.

Решение было найдено в создании клона элемента перед перетаскиванием. Именно клон делался активным, а оригинал элемента скрывался. По окончании перетаскивания параметры клона копировались в оригинал, клон уничтожался, а оригинал снова делался видимым.

Отсутствие деактивации элементов (отключения режима перетаскивания) в Mootools смущает некоторых разработчиков. Возможно использованный мной метод подойдет и вам.

В целом впечатления о библиотеки сложились положительные. Скрипты работают быстро. Время на разработку сокращается значительно. Объем кода так же. Возможности Mootools достаточно обширны и уже существует множество плагинов для этой библиотеки.

Если вы еще не видели Mootools, рекомендую познакомиться. Возможно это именно то средство, которое поможет вам в реализации ваших проектов.

1 comment:

Егор said...

пожалуй гляну что это ))