Фреймворки появились относительно недавно, но быстро становятся популярными, и jQuery (автор Джон Резиг) в том числе. Конечно же, каждый программист, отлично знающий JavaScript и сам в состоянии написать свой фреймворк (многие так и делают), но и пользователей готовых разработок тоже не мало.
Основное преимущество jQuery
- После подключения библиотеки сокращается размер написания команд. Например, чтобы найти элемент по его id "header", на «чистом» JavaScript приходится писать document.getElementById("header"), а на jQuery можно использовать, так называемые селекторы, то есть чтобы найти тот же элемент пишем просто $("#header");
- Используются встроенные функции для анимации - show, hide, fadeIn, fadeOut, slide, animate и др.;
- Гораздо проще создать кроссбраузерный ajax запрос;
- В сети можно найти огромное количество готовых плагинов, менюшек и т.п.
Но все же использовать фреймворки надо рационально. Не стоит забывать, что время загрузки библиотеки также влияет на общее время загрузки сайта. Представьте себе картину - вы пришли в магазин по-быстрому купить буханку хлеба, а продавщица говорит вам «подождите немного», вы ждете, и тут начинает играть музыка, вылетают блестки, продавщица начинает танцевать и только потом отдает вам долгожданный товар. Конечно где-то все эти «вылеталки» и «свистелки» к месту, то есть надо заранее продумывать период ожидания, где он к месту, а где бы надо отказаться от всякой мешуры. Следущий момент рациональности – не используйте целую библиотеку для пары-тройки элементов. Подумайте, стоит ли использовать бензопилу для того, чтобы отпилить пару веток? Конечно же, нет, а вот, чтобы вырубить весь сад – самое оно. Так же действуйте и с jQuery в роли бензопилы.
Использование фреймворков - это не так сложно, как кажется на первый взгляд; главное правильно изучить документацию и дополнительную информацию, которую можно с легкостью найти на тематических форумах. Но помните, что знание JavaScript , в разы упрощает изучение jQuery, помогает быстрее разобраться с логикой встроенных методов и функций.