Прототип VS jQuery - сильные и слабые стороны? - PullRequest
64 голосов
/ 15 апреля 2010

Я не хочу открывать другую ветку " Yet Another Js VS Js ".

Полагаю, в конце концов, Prototype и jQuery являются JS и имеют почти одинаковые методы и функции, и для одинаковых задач требуется почти одинаковые строки кода.

Для настоящего многофункционального интернет-приложения , каковы реальные сильные стороны и какие слабые стороны в Prototype vs. jQuery?

Ответы [ 14 ]

1 голос
/ 06 августа 2012

Подписываясь на уже подписанный помеченный правильный ответ, я также не хочу делиться библиотекой, которая позволяет вам использовать большинство утилит, которые вы ожидаете найти в среде, подобной прототипу, но с преимуществом не расширять собственные объекты , Как следствие, он предоставляет вам больший контроль и гибкость в отношении дополнительных структур, которые вы хотели бы использовать в своем проекте.

Underscore - это библиотека утилитарных поясов для JavaScript, которая обеспечивает Много поддержки функционального программирования, которую вы ожидаете в Prototype.js (или Ruby), но без расширения каких-либо встроенных Объекты JavaScript. Это галстук, чтобы пойти вместе с смокингом JQuery, и Подтяжки Backbone.js.

1 голос
/ 17 октября 2011

Я использовал прототип фреймворка и jquery, а лично мне нравится jquery cuz из его noConflict (); я предпочитаю использовать jq noConflict как это в моих файлах js

(function($){

}(jQuery));

этот способ заставит вас использовать $ как селектор jquery для файла js

0 голосов
/ 10 августа 2012

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

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

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

Кроме того, при загрузке библиотека немедленно выполнит код для создания глобально доступных функций и объектов, что потребляет больше памяти , даже если вы их никогда не используете. Некоторые библиотеки также добавляют функции и объекты к встроенным в прототипах объектов, что также увеличивает использование памяти.

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

0 голосов
/ 24 июня 2011

Краткий лаконичный код с использованием операторов сокращенного стиля также имеет тенденцию быть загадочным, поэтому он не обязательно лучше. Это может отвлечь от читабельности и сделать понимание того, что происходит, менее ясным. За многие годы программирования я натолкнулся на какой-то очень умный загадочный код, который дьявол мог понять, когда возникли проблемы. Лично мне нравится код, который сам документирует и оптимизирован для конкретных ситуаций. Если ваша цель состоит в том, чтобы сделать больше всего наименьшего количества строк кода, то использование библиотек расширений DOM, таких как prototype и jQuery, может быть для вас. Я лично считаю, что лучше полностью понять возможности самого языка JavaScript и реализацию браузеров в DOM и использовать его для решения поставленной задачи, будь то создание виджетов пользовательского интерфейса или что-то еще. Я иногда использую библиотеку script.aculo.us для анимационных эффектов, поэтому я загружаю код библиотеки прототипов, так как от нее зависит scriptaculous. Мое предложение для тех, кто использует любую из этих библиотек, состоит в том, чтобы научиться писать JavaScript в стиле ОО, прежде чем полностью зависеть от какой-либо из этих библиотек, а затем включить ту, которая кажется наиболее подходящей для ваших нужд. Отличная книга для изучения ОО стиля JavaScript - «Шаблоны проектирования Java».

...