jQuery. Мое первое знакомство с “волшебной палочкой” для JavaScript
Веб-разработка 27.04.2008
На днях познакомился с очень хорошим фреймворком для JavaScript с названием jQuery. Дня три не мог нарадоваться
И захотелось поделиться этим.
До этого использовал чистый JavaScript, а для задач, требующих использования AJAX, использовал библиотеку JsHttpRequest от dkLab.
“Я почему раньше такой злой был - потому что у меня велосипеда не было!” (с) Почтальон Печкин
В целом до знакомства с jQuery я достаточно негативно воспринимал работу с JavaScript, душа у меня к нему явно не лежит. Причем использую в JavaScript обычно самый необходимый функционал, например, оперирование объектами из DOM, на уровне скрыть/показать, или же для валидации данных форм на стороне клиента.
Так как информация о фреймворках для JavaScript постоянно мелькает перед глазами на различных блогах, мне стало интересно разобраться с одним из них. Выбор стоял перед jQuery или Prototype (возможно, из-за того, что они одни из самых популярных). Посмотрев отзывы в различных источниках, выбрал для изучения jQuery и, как оказалось, не прогадал.
Как я понял, основная фишка jQuery (по крайней мере, на первый взгляд) в том, что он позволяет очень удобно и изящно получать доступ к тем или иным элементам объектной модели документа (то, что мне нужно пока в первую очередь). В Prototype этот момент менее изящный (хотя всяко лучше чем в голом JavaScript
), но, как это всегда бывает, есть в нем и свои плюсы.
То есть, нельзя сказать, что jQuery - лучший из лучших, просто для моих текущих задач он подходит как нельзя лучше. И я достаточно четко понимаю, что в будущем, возможно, будет смысл использовать Prototype или что-то еще (или вообще ничего, ведь все от ситуации зависит…).
В целом, использование JavaScript фреймворков на подобие jQuery дает возможность достаточно легко делать на странице практически все, на что хватит фантазии, фактически можно делать целые online приложения, которые по функциональности будут очень похожи на обычные программы. Что, конечно же, можно сделать и без фреймворков, но с гораздо большими трудозатратами.
Собственно, для изучения jQuery (или достаточно хорошего ознакомления) хватило двух хороших статей, ссылками на которые и хотел поделиться с теми, кто, возможно, так же собирается разбираться с jQuery:
- Очень подробная и качественная статья на RSDN, в конце которой так же можно найти полезные ссылки.
- Менее подробная, но зато хорошо иллюстрированная примерами (с уклоном на использование визуальных эффектов в jQuery) статья Шевчука Антона “jQuery для начинающих” (рекомендую читать после статьи на RSDN).
Так же пришелся очень кстати файл справки в формате CHM для jQuery.
Не знаю, хорошо это или плохо, но часто меня одолевает “лень” тратить свое время на то, на что его можно не тратить. Наверное, именно поэтому для меня jQuery - действительно полезное открытие ![]()

28.04.2008 в 17:51
еще на йахушный YUI посмотри - тоже полезная штука из той же оперы.
28.04.2008 в 19:00
Так получилось, что я тоже недавно занялся jQuery. До этого использовал prototype.
В jQuery очень понравился размер библиотеки
Кстати, уже нашел книжку
“Learning jQuery” Jonathan Chaffer, Karl Swedberg (pdf).
Откуда качал не помню (какой-то файловый хостинг), но, если нужно могу выслать на eMail (где-то мегабайт 5).
29.04.2008 в 03:11
muromec,
Теперь нужно только запастись временем, чтобы хотя бы познакомиться с разными фреймворками
Владимир,
Спасибо за наводку. Поискал и тоже нашел.
Про размер, кстати, тоже часто встречал упоминания, такой себе заманчивый плюс
Мне один знакомый рассказывал, что он перешел с jQuery на Prototype из-за того, что в jQuery был (а может и сейчас есть, не знаю) какой-то глюк с модальными диалогами, “победить” который не удалось до конца и целесообразней было использовать Prototype (в нем именно этой проблемы не было). В общем, как ни крути, а получается, что в идеале нужно знать и то и то
PS. По возможности хочу разобраться с CodeIgniter и уже давно приметил у Вас на блоге много хороших статей на эту тему
29.04.2008 в 03:53
Ага, я говорил. Проблема не столько с модальными диалогами, сколько с эффектами и анимацией. Например затухание в prototype происходит ровнее, без дерганий. Аналогично slide-down, slide-up и тп.
Но в доступе к dom-элементам jquery конечно удобнее, а некоторые вещи вообще вне конкуренции, например раскраска страниц из статьи http://www.rsdn.ru/article/inet/jQuery.xml
Будем надеяться, что разработчики решат проблему эффектов, поскольку они работают отвратно.
Кстати, prototype содержит механизмы для программирования в стиле ООП.
30.04.2008 в 16:36
Небольшое уточнение. Эффекты это уже scriptaculous (надстройка над prototype), т.е. еще десяток килобайт кода
.
И “дергания” я наблюдал в ней тоже, особенно если время эффекта короткое (может, подтормаживал браузер, потому что иногда при повторном запуске “дергания” исчезали).
Но, конечно, возможность в scriptaculous задавать кривые для эффектов вне конкуренции.
P.S. Я потестировал slideDown эффект в jQuery - “дерганий” не заметил. Может дело в версии?
01.05.2008 в 17:02
отличное решение. спасибо.
30.06.2008 в 15:36
Меня волнует скорость jquery - насколько он будет замедлять работу.