jQuery - это полностью бесплатный javascript framework (фреймворк - это набор готовых функций для облегчения решения типовых задач).
Слова "полностью бесплатный" добавлены потому, что есть и не совсем бесплатные, например ExtJS.
На самом деле jQuery гораздо больше, чем просто фреймворк, это новая психология программирования на javascript, если можно так выразиться. Я бы сравнил появление jQuery с появлением самого javascript. И это не просто громкие слова.
Те, кто уже работает с jQuery подтвердят, что по прошествии некоторого времени начинаешь забывать структуры обычного javascript кода, а строка
становится такой же обязательной как <body>
.
Какие же преимущества привнес jQuery в стандартный набор функций языка, которые позволяют мне говорить о "новой психологии программирования на javascript"?
- Во-первых:
это отношение к (x)html документу действительно как к xml, а не просто формально из-за разметки. На практике это означает, что я легко могу получить доступ к любому узлу (node) древовидной структуры и его атрибутам, а также свободно перемещаться по ветвям. - Во-вторых:
jQuery совершил революцию в области html-javascript шаблонизации.
До момента его появления последнее было если не принципиально невозможным, то уж настолько трудозатратным, что не многие отваживались с этим связываться, а само выражение "html-javascript шаблонизации" вызывало в лучшем случае улыбку. Широко бытовало мнение, что шаблонизация рациональна только средствами серверных языков программирования, но jQuery, благодаря развитому механизму обработки событий, позволил уже на уровне javascript отделить логику от представления. - В-третьих
это качественно новый подход к разработке пользовательского интерфейса (GUI) и визуальных эффектов на web странице.
Такие тривиальные компоненты как слайдер (slider), которые раньше требовали написания отдельного модуля (javascript/slider.php), теперь занимают одну строчку кода - В-четвертых:
новый уровень работы с AJAX. Внести что-то новое в этой области практически не возможно (с точки зрения javascript программирования), поэтому jquery лишь до предела упрощает написание кода. - В-пятых:
серьезный подход разработчиков к расширяемости позволяет тысячам программистов во всем мире самостоятельно писать модули расширения и делиться ими с остальными.
На практике это означает, что перед решением любой задачи вы можете посмотреть не решил ли ее уже кто-нибудь до вас. С большой долей вероятности вам не придется начинать с нуля, а при хорошем раскладе не нужно будет ничего делать вообще.