В разделе «Вопросы и ответы» этого доклада Дуглас Крокфорд говорит, что jQuery не масштабируется так же хорошо, как некоторые другие популярные библиотеки. Что он подразумевает под этим и что в других библиотеках делает их более масштабируемыми?
В разделе «Вопросы и ответы» этого доклада Дуглас Крокфорд говорит, что jQuery не масштабируется так же хорошо, как некоторые другие популярные библиотеки. Что он подразумевает под этим и что в других библиотеках делает их более масштабируемыми?
Ответы:
Если вы смотрите видео, он не говорит о jQuery формально. Это быстрый ответ на какой-то оффтопический вопрос от кого-то после презентации ... в конце презентации, около минуты 1:29.
Он говорит много хорошего о jQuery. Он говорит, что не очень хорошо масштабирует его, он считает, что jQuery не очень хорошо масштабируется для очень сложных приложений (сравнивая его с другими вещами, такими как YUI). ,
Мне трудно говорить без просмотра видео, но я предполагаю, что это потому, что jQuery не предлагает все функции большинства других библиотек, которые облегчают программирование на JavaScript. Цель jQuery - облегчить манипулирование DOM , упрощая адресацию элементов с помощью селекторов CSS и предоставляя простую структуру для изменения этих элементов. Он предлагает некоторые другие функции, такие как запросы Ajax , базовое управление событиями, шаблоны и некоторые другие элементарные функции, но это все.
Другие библиотеки, такие как Prototype , MooTools , Ext JS и Dojo, предоставляют множество других функций для создания объектов, управления массивами и коллекциями, манипулирования строками и выполнения всех других мелких вещей, которые мы, программисты, ожидаем, что сможем сделать.
Короче говоря, в jQuery отсутствуют инструменты, которые нужны для крупномасштабных приложений JavaScript. По этой причине довольно редко можно найти какие-либо очень тяжелые сайты JavaScript, использующие jQuery. Например, Mint.com построен на YUI . Веб-сервис Apple MobileMe работает на SproutCore (основной сайт Apple использует Prototype).
По крайней мере, я так думаю .
jQuery не позволяет вам многократно использовать, например, MooTools .
Это философское / дизайнерское решение: jQuery не так уж много кода для сценариев «забей и забудь».
Когда вы создаете ненавязчивый опыт JavaScript (обычно только улучшения страницы), это работает очень хорошо и требует очень мало кода. Когда вы создаете Google Docs ... не так много. Вам понадобятся дополнительные концепции ООП, которые другие проекты предоставляют, например, наследование, интерфейсные механизмы и т. Д.