Какие преимущества у jQuery перед другими библиотеками JavaScript?

Я пытаюсь убедить тех, кто устанавливает стандарты в моей нынешней организации, что мы должны использовать jQuery, а не Prototype и / или YUI. Какие убедительные преимущества я могу использовать, чтобы убедить их?

Им пользуются все и их мама. :П

Jason Bunting 16.09.2008 10:12

JQuery - это просто манипулятор DOM, YUI - это компонентная структура с включенным манипулятором DOM.

Kdeveloper 22.09.2010 22:14
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
19
2
39 081
18

Ответы 18

Одним из преимуществ jQuery является большое сообщество, которое разработало множество плагинов.

Три основных преимущества jQuery:

  • его легкий вес по сравнению с другими фреймворками javascript
  • он имеет широкий спектр плагины, доступных для различных конкретных нужд
  • Дизайнеру легче изучить jQuery, поскольку он использует знакомый синтаксис CSS. jQuery - это Javascript для дизайнеров

Я человек прототипов, но немного использовал jQuery. Честно говоря, я не вижу между ними ничего, что можно было бы использовать в качестве «аргумента в пользу продажи». С другой стороны, YUI довольно раздут. Я бы никогда не использовал его ни в каком приложении коммерческого уровня.

Я нашел эта страница, который говорит именно на эту тему.

Крис Хейлманн, который сейчас работает в Yahoo !, имел аналогичные мысли о YUI, когда только начинал в Yahoo! wait-till-i.com/2007/06/16/… - обсуждает это. YUI 3 также вносит значительные изменения в API.

Walter Rumsby 16.09.2008 02:13

Никогда не используйте YUI в приложениях коммерческого уровня? Ну @LinkedIn решили иначе, они используют YUI ... (developer.yahoo.com/yui/poweredby)

Kdeveloper 22.09.2010 22:13

На мой взгляд, кратко попробовав Prototype, а затем попробовав и полюбив jQuery: jQuery API кажется намного чище и хорошо продуманным. Джон Ресиг, создатель / архитектор jQuery, действительно знает свое дело, и это видно в дизайне jQuery, а также в различных других впечатляющих проектах JavaScript, частью которых он был.

Все концепции запросов и цепочки очень хорошо сочетаются с манипуляциями с DOM, которые, кажется, являются основной тяжестью того, для чего люди используют библиотеки JS. Онлайн-документация просто великолепна. Производительность тоже кажется очень хорошей. Учитывая ее возможности, вся библиотека умещается в относительно небольшой пакет. Архитектура плагина также очень хороша для расширяемости.

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

Может, не стоит? Все зависит от того, какие приложения вы создаете. Если вы создаете приложения с интенсивным графическим интерфейсом, например Yahoo! Mail, тогда, возможно, вам стоит подумать об использовании YUI или Mootools вместо jquery. Лично я большой поклонник jQuery, но он определенно лучше всего подходит для добавления прикосновения взаимодействия к обычно статичному пользовательскому интерфейсу. С другой стороны, если это то, для чего вы будете его использовать, тогда jquery намного проще, имеет более приятный синтаксис и имеет большую динамику.

  1. Он очень маленький, особенно когда он минифицирован, и предлагает многое в основной библиотеке.

  2. Его также легко расширить, и у него есть активное сообщество.

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

Я бы сказал, что основными причинами использования JQuery являются:

  • Большое сообщество разработчиков и множество плагинов.
  • Это на радаре Microsoft, и они добавляют поддержку плагинов и возможности отладки.
  • Очень хорошая документация для сторонней библиотеки.
  • Легкий.
  • Возможности цепочки очень мощные.

Не только радар Microsoft, но и радар Google.

hippietrail 18.08.2012 19:32

Почему бы вам не провести быстрое сравнение?

Возьмите задачу вроде «найти все div или таблицы, содержащие изображения класса foo, и прикрепить к каждому из них событие щелчка, которое заставляет их расширяться на 50%». Или что-то более соответствующее тому, что вы делаете.

Затем закодируйте это с помощью jQuery, Prototype и т. д. И сравните. Что короче? Легче читать? Быстрее бежать? (Вы можете найти сравнение скорости здесь.)

Я бы выбрал менее произвольный тестовый пример. Как насчет того, чтобы сделать AJAX-вызов внешнего скрипта и поместить ответ в стилизованное окно сообщения в середине экрана.

nickf 16.09.2008 01:55

Один из аргументов в пользу этого:

популярность + расширяемость

1) Если кому-то нужно делать X с помощью JavaScript, вероятно, это было сделано с помощью jQuery
. 2) Если много сделано, то наверняка есть плагин, если не нативная поддержка

И если В самом деле уникален, есть много людей, которые ответят на ваш вопрос по SO или где-то еще.

У него хороший набор плагинов, а стиль кодирования ненавязчивый, что означает, что его не так уж сложно заменить. Также есть хорошая замена для помощников Ruby on Rails, называемых jRails.

По производительности они все довольно близки: http://www.kenzomedia.com/speedtest/ Однако MooTools, dojo, ext и Prototype в моей среде работают быстрее.

У меня вопрос - почему вы хотите его использовать? Просто потому, что ты знаешь это лучше?

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

mcherm 17.09.2008 00:04

Jquery существует уже несколько лет, поэтому, как все уже говорили, у него глубокое сообщество, множество плагинов и достойная поддержка. Что меня оставило в стороне, так это то, что этому легко научиться.

См. http://visualjquery.com/1.1.2.html

Это самый продуманный язык, который вы найдете - он почти интуитивно понятен.

Хотите ширину элемента?

$('#something').width();

Хотите захватить элемент, скрыть его, изменить цвет фона и вернуть его обратно?

$('#something').hide().css('background', 'red').fadeIn();

Как насчет чередования таблиц для IE (при условии, что класс hover определен)?

$('table tr').hover(function() {
  $(this).addClass('hover');
});

Такая быстрая и бездумная работа действительно помогает продавать jQuery.

Вот более свежий тест скорости, чем приведенный выше. В прошлый раз, когда я запускал его, додзё было самым быстрым, за ним следовали jQuery, Mootools, Prototype и, наконец, YUI. Обратите внимание, что я запускал его в Firefox 3, и его скорость варьируется в зависимости от браузера, поэтому проверьте его сами.

Тест скорости скольжения

Это не недавний тест скорости и не исчерпывающий. Slick Speed ​​сравнивает механизмы выбора CSS, а не общую производительность. YUI 2.5.2 был выпущен в 2008 году. Текущая производственная версия YUI 2.x - 2.8.2, а версия 2.9 находится в разработке. Это будет последний выпуск точки в строке кода 2.x. YUI 3 доступен с 2009 года. Текущая версия - 3.2, а 3.3.0 поступит в продажу в январе 2011 года.

Luke 29.12.2010 07:55

Если вы пытаетесь убедить людей с точки зрения бизнеса, недавнее решение Microsoft о поставке jQuery с Visual Studio может помочь завоевать дополнительное доверие. Опять же, это может повредить вашему делу, в зависимости от их мнения о Microsoft.

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

Не уверен, что это будет иметь значение для вас, но Microsoft недавно объявила о поддержке jQuery в следующем обновлении VS 2008 Вот сообщение в блоге.

Вы можете услышать, как Джон Ресиг, человек, стоящий за jQuery, рассказывает об этом в различных других фреймворках на недавнем Подкаст Boagworld. Это может помочь вам решить, что это довольно сбалансированная вещь.

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

Эмпирически у каждого есть свои сильные и слабые стороны, учитывая очень конкретную роль в ваших приложениях. Глобальное определение может быть не самым подходящим подходом. Выполните конкретную задачу и проанализируйте производительность, раздувание, опыт и т. д., А затем сделайте конкретное решение / предложение.

Что ж...

Сначала вы должны подумать, почему вы думаете, что jQuery хорош, но не знаете, какие аргументы использовать, чтобы убедить другого. Возможно, вам следует сначала убедить себя. ;)

В любом случае, jQuery - это просто еще один фреймворк. Вы должны использовать то, что у него лучше всего получается. Если вы собираетесь использовать его только для базовой обработки DOM, забудьте об этом! научитесь правильно использовать js, и все будет в порядке!

Рассмотрим этот HTML:

<body>
<div style = "width: 400px; height: 400px; background-color: red">
<div style = "width: 400px; height: 400px; background-color: red">
</div>

<script type = "text/javascript">

function test1 (){
document.body.innerHTML = ""

var div = document.createElement("div");

document.body.appendChild(div);

$(div).width("400px").height("400px").css("background-color", "red");
}    

function test2 (){
document.body.innerHTML = ""

var div = document.createElement("div");

document.body.appendChild(div);

$(div).width("400px");
$(div).height("400px");
$(div).css("background-color", "red");
}

function test3 (){
document.body.innerHTML = ""

var div = document.createElement("div");

document.body.appendChild(div);

div.style.width = "400px";
div.style.height= "400px";
div.style.backgroundColor = "red";
}

function test4 (){
    document.body.innerHTML = ""

    var div = document.createElement("div");

    document.body.appendChild(div);

    div.setAttribute("style", "width: 400px; height: 400px; background-color: red");
}

</script>
</body>

Поместите его в hml файл с помощью jquery, доступного в <head>

Затем откройте firebug и запустите этот код: console.profile (); test1 (); console.profileEnd ();

console.profile();
test2();
console.profileEnd();

console.profile();
test3();
console.profileEnd();

console.profile();
test4();
console.profileEnd();

Посмотрите результаты сами!

Но если вы хотите выполнить некоторые сложные манипуляции с DOM, которые потребуют от вас создания нескольких циклов или выяснения, что элементы в DOM соответствуют некоторым критериям, вы можете рассмотреть возможность использования jQuery, поскольку он будет реализовывать эти процедуры за вас.

В любом случае, имейте в виду, что нет ничего лучше, чем управлять DOM с помощью ссылок, которые вы храните в своем коде. Это быстрее и удобнее для других. Google "передовой опыт js".

Я использую jQuery для сложных вещей, реализация которых займет у меня слишком много времени и в результате получится что-то вроде кода jQuery. В таком случае есть смысл его использовать!

Радоваться, веселиться!

Другие вопросы по теме