Microsoft недавно объявленный, что они одобряют jQuery как «официально» поддерживаемую библиотеку JavaScript.
Я, конечно, не стал бы утверждать, что jQuery - фантастический фреймворк для работы. Фактически я только что купил книга. Но мне любопытно узнать почему.
В частности, мне интересно узнать, можем ли мы, веб-разработчики, ожидать, что jQuery станет существующей средой JavaScript, или же он просто предлагает точки дифференциации, как любой другой инструмент разработки. В чем преимущества jQuery по сравнению, скажем, с Mootools или Prototype? Могу ли я ожидать войны «Библиотек JavaScript», подобной войнам браузеров, когда отдельные фреймворки борются друг с другом за доминирование на рынке, или есть лучшие фреймворки для применения к конкретным проблемам?
Я понимаю, что, как и все в мире разработки, найдутся люди, исповедующие религиозный фанатизм в отношении своей любимой библиотеки, поэтому, пожалуйста: поиграйте друг с другом, отвечая на эту тему.
Очаровательный. Идея состоит в том, чтобы понять, следует ли мне предполагать, что jQuery станет универсальной библиотекой, или я должен рассмотреть разные библиотеки в зависимости от моих потребностей.

Что касается того, почему MS поддержала jQuery, возможно, лучше всего спросить ScottGu.
Кажется, что jQuery становится предпочтительным для многих js молотком, и чем больше это происходит, тем меньше любви будет проявляться к другим библиотекам.
Лично я считаю, что он имеет хороший баланс функций и позволяет мне выполнять большинство задач с наименьшими усилиями, и, как и любой другой аспект разработки, в большинстве случаев проще и дешевле придерживаться того, что вы знаете, если это работает. .
Для вещей, требующих действительно красивой анимации, я обнаруживал, что mootools был немного более плавным, но, по крайней мере, 8 месяцев с тех пор, как мне приходилось делать что-нибудь с таким количеством глазных конфет, поэтому мое тестирование, вероятно, устарело.
Что касается фестиваля виджетов ajax, то dojo, yui или extJS, вероятно, могут предложить немного больше, но за счет размера и сложности библиотеки.
Итак, извините, если это немного расплывчато, но, как и все остальное, все сводится к тому, какой инструмент подходит для работы. Как инструмент общего назначения, jQuery обычно выигрывает для меня, но это во многом зависит от работы.
Я думаю, что во многом это связано с тем фактом, что он предлагает большую гибкость и реализацию, которая не распространяется на мои клиентские библиотеки ajax ms, с довольно ограниченным перекрытием ... IE, они хорошо дополняют друг друга.
В подтверждение того, что говорит Шон, кажется, что существует гораздо больше качественных, готовых к использованию библиотек для jQuery, чем других JS-фреймворков. Это также фактор, побуждающий к этому больше разработчиков.
Для меня поддержка сообщества делает jQuery хорошим выбором, но, как было отмечено выше, если вам нужен сайт, построенный вокруг ui-виджетов, я бы не стал использовать jQuery (пока). Фреймворк jQuery-ui находится в зачаточном состоянии и далеко отстает от таких, как yui и extjs, он наверстает упущенное, но на это потребуется время. Однако я считаю, что 95% потребностей веб-приложений удовлетворяются с помощью jQuery. Он поставляется с отличным механизмом выбора, а также с хорошими манипуляциями с dom / ajax и простыми эффектами. Все это в сочетании с размером библиотеки, доступностью плагинов, простотой использования и поддержки делает его надежным выбором. Решение MS о выпуске jQuery может только усилить шум в сообществе и ускорить развитие инфраструктуры пользовательского интерфейса.
[глубокий субъективный вдох]
последние несколько раз, когда я работал с додзё, команда в совокупности обнаружила, что он очень тяжелый, медленный, в некоторых местах имеет недостатки (в то время как iirc был неясный сбой в функции $), и его начальная загрузка фактически сделала его профилированным плохо используется. В ней есть что нравится с инженерной точки зрения, и ее можно легко расширить с точки зрения виджетов, хотя на самом деле мне снова не нравится эта реализация виджета из-за раздувания и некоторого слабого объектно-ориентированного подхода. В конечном итоге я предпочитаю избегать этого в наши дни.
Меня неизменно впечатляет анимация mootools, по-моему, она намного опережает все остальное, но в то время прошло несколько месяцев с тех пор, как я использовал ее лично, и я так и не обнаружил, что остальная часть библиотеки была мне очень полезна.
jQuery Я обнаружил, что очень переоценен, но он действительно выглядел лучше, чем dojo в качестве фреймворка, хотя опять же в iirc были глубоко укоренившиеся недостатки. Он имеет значительное количество расширений, но не имеет виджетов / компонентов и полностью деградирует.
В любом случае GWT - ниша, и я ему совершенно не доверяю. По сути, я отвергаю предположение, что автоматизированное программное обеспечение Google может писать лучше js, чем я :)
Если говорить чисто, я высокомерный дерьмо, и я занимаюсь этим какое-то время, поэтому я должен сказать, что для чего угодно, кроме анимации (слишком много математики, недостаточно времени, просто используйте mootools), я использую свои собственные код. AJAX не так уж и сложен. Мне больше нравится мой селектор на основе CSS / Xpath $ esque и я доверяю ему. У меня есть более чистая реализация компонентов / виджетов в подходящей мне методологии проектирования. В конечном итоге я полностью контролирую ситуацию.
Я бы порекомендовал jquery / mootools (или даже yui) для новичков и команд, где важны стандартные знания. Для всех, кто работает над долгосрочными проектами или у кого есть полномочия и время и навыки, чтобы избежать наказания, я рекомендую использовать свои собственные и щедро воровать хорошие идеи там, где вы их видите. :)
По моему личному мнению, настоящая причина популярности jQuery в том, что он менее навязчив, чем другие зрелые фреймворки. Вам не нужно делать все свое приложение на JavaScript (как в случае с ExtJS), и вам не нужно заниматься всем фреймворком, как в YUI.
И, пожалуйста, не поймите меня неправильно: я думаю, что и ExtJS, и YUI - отличные библиотеки - они просто слишком толсты для небольших проектов, где jQuery с плагинами очень хорошо подходит.
Еще одна библиотека, на которую стоит обратить внимание, - это extjs (теперь Сенча). У них лучшие виджеты имхо.
несмотря на ваши самые лучшие намерения, я смутно искушению, чтобы закрыть это как субъективны и аргументированный. ... потому что это как бы ...