prototype.js или jQuery для новых проектов?
Должен ли я использовать prototype.js или jQuery для нового проекта? Рельсы поставляются с prototype.js но jQuery кажется лучшей библиотекой для остального мира. Является prototype.js все еще в стадии активной разработки? Он кажется немного пыльным...
9 answers
В основном это вопрос предпочтений. Некоторым людям не нравится, как прототип расширяет объекты, но для базового использования они довольно эквивалентны.
Прототип все еще находится в активной разработке - они выпустили релиз-кандидата для следующего выпуска всего пару месяцев назад.
Ничего не имею против прототипа, но у него нет такого количества плагинов или почти такого же большого сообщества, как у jQuery.
Для jQuery уже есть плагин практически для всего, поэтому в итоге я пишу намного меньше js.
Причины, по которым я использую 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.
Используйте тот, который лучше всего соответствует вашим спецификациям. jQuery - отличная библиотека, находящаяся в активной разработке, с большим (и большим) сообществом подписчиков, и это моя личная библиотека по выбору, но не позволяйте этому удерживать вас от использования прототипа, если это подходящий инструмент для работы.
На самом деле это вопрос предпочтений. Лично я склоняюсь к jQuery. Он хорошо документирован, имеет множество хороших плагинов и делает мою жизнь намного проще. Я слышал некоторые жалобы от разработчиков прототипа на его размер и производительность (извините, я не помню их конкретной проблемы), но оба эти аспекта становятся все лучше и лучше.
Я бы попробовал оба варианта и посмотрел, какой из них лучше подходит для вас.
Это действительно зависит от того, что вы предпочитаете. Тем не менее, у jQuery, похоже, больше последователей, поэтому ресурсы для этого могут быть легко доступны.
Я думаю, что вы можете получить как хостинг с серверов Google, так и jQuery, размещенный на серверах MS, что может быть учтено вами.
Я считаю, что jQuery, размещенный через Google CDN, открывает и то, и другое.
Очевидно, что это вопрос предпочтения. Я обнаружил, что jquery немного, но сложнее понять новичкам, так как цепочка на самом деле не интуитивно понятна, особенно когда возникают асинхронные условия гонки. Тем не менее, в jquery, безусловно, больше плагинов, но это также может быть недостатком, когда автоматически загружается слишком много плагинов.
Хотя на первый взгляд это зависит от ваших предпочтений, рассмотрите библиотеки, плагины и примеры того, для чего вы хотите использовать jQuery или прототип. Например, в новом проекте Rails весь AJAX выполняется с использованием прототипа по умолчанию. Также, если вы хотите использовать пользовательский интерфейс jQuery или jQTouch (мобильный) Я бы рекомендовал jQuery.