prototype.js или jQuery для новых проектов?


Должен ли я использовать prototype.js или jQuery для нового проекта? Рельсы поставляются с prototype.js но jQuery кажется лучшей библиотекой для остального мира. Является prototype.js все еще в стадии активной разработки? Он кажется немного пыльным...

Author: Aaron, 2010-07-08

9 answers

В основном это вопрос предпочтений. Некоторым людям не нравится, как прототип расширяет объекты, но для базового использования они довольно эквивалентны.

Прототип все еще находится в активной разработке - они выпустили релиз-кандидата для следующего выпуска всего пару месяцев назад.

 6
Author: Matthew Shanley, 2010-07-08 19:33:58

Ничего не имею против прототипа, но у него нет такого количества плагинов или почти такого же большого сообщества, как у jQuery.

Для jQuery уже есть плагин практически для всего, поэтому в итоге я пишу намного меньше js.

 8
Author: corymathews, 2010-07-08 19:30:10

Причины, по которым я использую jQuery по сравнению с любой другой библиотекой:

Быстрый и легкий
jQuery продолжает повышать производительность своей библиотеки даже в выпусках на уровне незначительных версий. Когда они выпустили 1.4.2, скорость библиотеки была значительно увеличена даже с 1.4.1, как показано в сообщении в блоге Ajaxian, касающемся ее выпуска. Анализ производительности 1.4 по сравнению с 1.3 был проведен командой jQuery в объявлении о выпуске для 1.4, показывающем этот 1.4 был сильно оптимизирован в областях его наиболее частого использования, и эта производительность также возросла по всем направлениям.

Популярный
jQuery обслуживается 48 из 2000 лучших веб-сайтов в каталоге Alexa, по сравнению с 6 сайтами Prototype, 3 сайтами MooTools и 1 сайтом Dojo.

Построенный с помощью дистрибутива Javascript указывает, что jQuery используется более чем 40% их индексированных сайтов. Построенный с помощью Статистики использования jQuery показывает 32% Лучшие 10 000 сайтов, 23% из 100 000 лучших сайтов и 15% из 1 000 000 лучших сайтов в их индексе с использованием jQuery. Сравните это с Прототипом 5%, 4% и 2% соответственно в этих категориях. Также обратите внимание, что в то время как использование jQuery неуклонно растет, использование Prototype имеет тенденцию к снижению.

Активно (и Разумно) Развивался
В марте jQuery опубликовал в своем блоге Microsoft, чтобы расширить свой Сотрудничество с сообществом jQuery. Из сообщения:

Проект jQuery рад сообщить, что Microsoft расширяет поддержку библиотеки JavaScript jQuery с помощью новых инициатив, включая вклад в код, интеграцию продуктов и выделение дополнительных ресурсов.

...

Корпорация Майкрософт также выпустит текущую версию библиотеки JavaScript jQuery как в Visual Studio 2010, так и в ASP.NET MVC, а также продолжать размещать текущие версии библиотеки на компакт-диске Microsoft.

Корпорация Майкрософт теперь включена в сообщество активных участников кодовой базы jQuery. У Microsoft есть несколько очень умных разработчиков. Корпорация Майкрософт также вносит финансовый вклад в jQuery. У Microsoft много денег. Они также предоставляют мгновенный доступ к jQuery любому разработчику с Visual Studio. Корпорация Майкрософт также работает над ASP.NET чтобы конкретно выполнить интеграцию jQuery лучше:

Также узнайте, как ASP.NET AJAX был разработан для бесперебойной работы с jQuery, как вы можете создавать ASP.NET Элементы управления AJAX непосредственно из jQuery и как вы можете использовать библиотеку jQuery в ASP.NET Код AJAX.

Подробнее об использовании Microsoft jQuery можно найти в книге Скотта Гатри ASP.NET сообщение в блоге jQuery и Microsoft.

Исходный код jQuery размещен публично на GitHub. Это плюс лично для меня, так как я предпочитаю Git другим SCM системы.

Селекторный движок jQuery Sizzle великолепен. И это здорово, потому что jQuery работает над этим не в одиночку. В сообщении в блоге, анонсирующем выпуск версии 1.3 в начале прошлого года, они в основном сказали: "Мы знаем, что мы не умнее всех остальных, и мы больше заинтересованы в продвижении сообщества, работая с умными людьми, чем в том, чтобы говорить, что мы лучше, чем они".

Одна вещь, которая стала очень очевидной во время разработки нового движка: мы хотели иметь возможность сотрудничать в этой области с другими библиотеками и разработчиками. Мы увидели возможность для тесного сотрудничества с некоторыми из лучших разработчиков JavaScript, результат которого поможет пользователям всех библиотек. По этой причине мы убедились, что Sizzle может работать полностью автономно (без зависимостей).

Кроме того, в знак доброй воли и готовности к сотрудничеству мы выпустили исходный код для Sizzle в Фонд Dojo. Мы хотели найти общую площадку для встреч где каждый мог бы работать вместе и при котором был бы четкий долгосрочный правообладатель.

Прямо сейчас мы работаем с Prototype, Dojo, пользовательским интерфейсом Yahoo, MochiKit и TinyMCE (и многими другими) над Sizzle, доводя его до совершенства.

Мобильная Поддержка
В подкасте YayQuery, Эпизод 18 (mp3), Джон Отставка описывает планы по мобильной поддержке jQuery. Философия заключается в том, что основная библиотека jQuery должна быть совместима с мобильные устройства, вместо того, чтобы писать специальную мобильную версию. Одним из многих преимуществ этого является то, что, поскольку ваша основная библиотека используется как на обычных, так и на мобильных веб-сайтах, она с большей вероятностью будет кэшироваться, а веб-сайты для мобильных устройств могут использовать ту же кэшированную версию, что и немобильные веб-сайты. Джон также объясняет, какие именно телефоны и операционные системы планируется поддерживать.

JQuery можно использовать с PhoneGap для создания собственных приложений с использованием веб-технологий для мобильные устройства. Он также имеет плагин с именем jQTouch для создания нативных веб-приложений для iPhone и других мобильных браузеров. Это означает, что все ярлыки, которые у вас есть с jQuery, переводятся на другие платформы, уменьшая кривую обучения.

Активный участник Сообщества разработчиков
Джон Ресиг является активным оратором. Он включает в себя не только крупные конференции и мероприятия, но также появлялся в подкастах, таких как Yayquery. У него также есть написал две книги: Javascript Ninja и Pro Javascript, обе о чистых навыках Javascript, не посвященных jQuery.

 3
Author: Bryson, 2013-10-08 13:05:07

Используйте тот, который лучше всего соответствует вашим спецификациям. jQuery - отличная библиотека, находящаяся в активной разработке, с большим (и большим) сообществом подписчиков, и это моя личная библиотека по выбору, но не позволяйте этому удерживать вас от использования прототипа, если это подходящий инструмент для работы.

 2
Author: Jason, 2010-07-08 19:21:22

На самом деле это вопрос предпочтений. Лично я склоняюсь к jQuery. Он хорошо документирован, имеет множество хороших плагинов и делает мою жизнь намного проще. Я слышал некоторые жалобы от разработчиков прототипа на его размер и производительность (извините, я не помню их конкретной проблемы), но оба эти аспекта становятся все лучше и лучше.

Я бы попробовал оба варианта и посмотрел, какой из них лучше подходит для вас.

 2
Author: tghw, 2010-07-08 19:21:58

Это действительно зависит от того, что вы предпочитаете. Тем не менее, у jQuery, похоже, больше последователей, поэтому ресурсы для этого могут быть легко доступны.

Я думаю, что вы можете получить как хостинг с серверов Google, так и jQuery, размещенный на серверах MS, что может быть учтено вами.

 1
Author: Macha, 2010-07-15 15:27:47

Я считаю, что jQuery, размещенный через Google CDN, открывает и то, и другое.

 0
Author: Maslow, 2010-07-08 19:32:22

Очевидно, что это вопрос предпочтения. Я обнаружил, что jquery немного, но сложнее понять новичкам, так как цепочка на самом деле не интуитивно понятна, особенно когда возникают асинхронные условия гонки. Тем не менее, в jquery, безусловно, больше плагинов, но это также может быть недостатком, когда автоматически загружается слишком много плагинов.

 0
Author: txwikinger, 2010-07-15 05:12:01

Хотя на первый взгляд это зависит от ваших предпочтений, рассмотрите библиотеки, плагины и примеры того, для чего вы хотите использовать jQuery или прототип. Например, в новом проекте Rails весь AJAX выполняется с использованием прототипа по умолчанию. Также, если вы хотите использовать пользовательский интерфейс jQuery или jQTouch (мобильный) Я бы рекомендовал jQuery.

 0
Author: Steve Tranby, 2010-07-15 20:22:30