Почему некоторые люди утврерждают что плохо использовать jQuery?

Плохо ли использовать jQuery? Проект например интернет магазин при использовании чистого javascript будет более привлекательнее для заказчика или при входе в офис или с использоанием jQuery?
  • Вопрос задан
  • 2434 просмотра
Решения вопроса 4
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Во-первых, jQuery родилась во времена, когда каждый браузер реализовывал JS и DOM API по-своему, её основным назначением было сглаживать эти различия. В наше время это преимущество библиотеки уже утеряно. Во-вторых, jQuery не соответствует основному вызову современности - сложной кодовой базе. В развитом фронте код, использующий jQuery, быстро превращается в трудно сопровождаемую лапшу. Поэтому для простого фронта чаще стали использовать ванильный JS, а для сложного фреймворки типа React, Angular и Vue.
Ответ написан
locky_yotun
@locky_yotun
Я видел некоторый джаваскрипт
Заказчику вообще побоку на чем написан сайт — хоть на Visual Basic делайте — главное чтобы все работало (ну и если заказчик чуть умнее — чтобы можно было это чудо поддерживать в будущем — тут конечно Visual Basic не пойдет))
А про jQuery — ничего в нем плохого нет, кроме того что он устарел (читайте — не нужен).
Ответ написан
@altemuller
Потому что есть Vue, React и Angular.
Ответ написан
@Kirill-Gorelov
С ума с IT
Добавлю еще момент.

Помимо всего прочего jQuery тяжелее своих аналогов. И работает медленнее чем чистый js.
Но конечно же это "медленно" для нас практический не заметно. Потому что jQuery можно сказать библиотека/фреймворк для js.
Ответ написан
Пригласить эксперта
Ответы на вопрос 9
cpof_tea
@cpof_tea
В дополнение к ответам выше...

Недавно наткнулся на такую вот статью (Web-Almanac: Javascript 2019). Мое внимание привлек этот чарт (Figure: Top JavaScript libraries on desktop and mobile).

Отбросив тот факт, что первые три - сам jQuery и 2 poweredBy jQuery-team либы - имеет наибольший процент используемости из библиотек (не ставить на равне с фреймворками!), я увидел там другие знакомые названия, к использованию которых самому приходилось прибегать в силу требований заказчика и его бюджетных средств на проект. FancyBox, Lightbox, Slick, prettyPhoto, Select2 - все это jQuery-dependency библиотеки, достойной альтернативы на vanilla.js которым, я пока не встретил. То есть, при необходимости использовать одну из это либ, нужно подключать в проект и jQuery.

Далее, люди использующие при разработке Bootstrap, причем иногда даже в проектах на том же React (его SCSS стили как дефолт, затем extend и restyle), иногда могут подхватить еще и его jQuery-dependency плагины для работоспособности его же модалок. А еще и какой-нибудь функциональный Select2 сюда встроить - ммм, конфетка. И выходит красивая связка из React+jQuery

Далее еще интереснее. Яндекс и его сервисы, которые, по большей части, написаны по их популярной методологии БЭМ... и с помощью их БЭМ-инструментария bem-core, который в себя включает jQuery-dependency блок i-bem-dom. Можете сами проверить, введя в консоли на странице поиска Яндекс jQuery.fn.jquery. И в Трекере, и в Музыке, и в Почте. Причем, забавно - там везде разная версия jQuery используется. Разве что в Картах нету. Выходит, что Яндекс не особо смущает весь тот хейт (местами - обоснованный, местами - нет), что имеет в свой адрес jQuery со стороны разработчиков. Да и по итогу, разве их сервисы работают как-то хуже от того что имеют с собой за спиной jQuery? Нет. Можно лучше? Без jQuery? Можно. Можно лучше и без React, Angular и Vue. На WebComponents например (пока что в теории). Но до этих времен еще дожить надо. Да и это уже совсем другая тема для обсуждения
Ответ написан
profesor08
@profesor08
Потому что проблемы кроссбраузерности решены стандартизацией api, а проблемы старых браузеров красиво решает babel.
Ответ написан
beliyadm
@beliyadm
Ничем это не плохо, квери весит 100 кб, при правильной организации остального JS кода это мелочи.
Потому что на современном сайте у вас будет 2-3 метра картинок, которые перебьют все выгоды ванильного жс
Ответ написан
@Programmir
Ничем не плохо. На jQuery можно практически всё реализовать. Я его использую. Гораздо удобнее чистого JS.
Ответ написан
PavelUstyugov
@PavelUstyugov
Самозанятый веб-разработчик
потому что программисты, владеющие современным фреймворком таким как React, Angular, Vue считают что у них длиннее достоинство и каждый раз пытаются об этом упомянуть тем кто использует Jquery.
Ну а если серьезно, то jquery делает приложение трудноподдерживаемым, но никто не запрещает его использовать для мелких задач таких, как добавление к странице карусельки, галерейки, маски, модального окна. Особенно если это идет в составе бутстрапа. можете смело использовать для обычных сайтов. Но для сервисов, которые требует реактивность на фронтэнде лучше использовать уже современный JS Фреймворк.
Ответ написан
@xfg
jQuery - это про императивное программирование. jQuery - это про то "как" манипулировать dom элементами. Итог - смесь dom и бизнес-логики. Это невозможно разделить.

Angular - это про декларативное программирование. В Angular мы не говорим "как", мы говорим "что" мы хотим сделать с dom и он делает это. Что позволяет отделить бизнес-логику от манипуляций с dom.

Соответственно вся эта история не про jquery vs vanilla, а про императивное vs декларативное программирование для работы с dom. Большинство этого не понимает и спорят о jquery vs vanilla, хотя всё это одно и то же, до тех пор пока у вас не появляется какая-то штука, которая меняет парадигму работы с dom с императивного на декларативный. Внутри этой штуки можно использовать хоть vanilla, хоть jquery. Без этой штуки - у вас каша, хоть с vanilla, хоть с jquery.

Собственно об этом написано в википедии:

AngularJS is built on the belief that declarative programming should be used to create user interfaces and connect software components, while imperative programming is better suited to defining an application's business logic.


Остальные фреймворки про то же самое. Это и стало причиной стремительного роста популярности javascript фреймворков.
Ответ написан
SagePtr
@SagePtr
Еда - это святое
Тем, что представляет из себя набор костылей "на все случаи жизни", которые современным браузерам нафиг не нужны, но были очень актуальны в древние времена. Это не "плохо", это "бесполезно", но не "вредно". Кому-то удобнее на ванильном js писать код и не париться с подключением лишней библиотеки, а кому-то нравится синтаксический сахар jQuery (кроме сахара в наше время эта библиотека больше никакой полезной роли не играет по сути).
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Потому что люди разные, и решают разные задачи.
В некоторых случаях jQuery действительно применять неудобно и неэффективно.

Некоторые люди говорят что мерс 600 это хлам, он вообще не едет в отличии от уазика. Банально в двух метрах от дома застревает в грязи. А некоторые наоборот хвалят мерс. Находятся даже люди которым уазик не нравится, мол по асфальту трясет сильно.
Ответ написан
@Jack_Rabbit
Senior WordPress Developer
Такое отношение к jQuery говорит в первую очередь об узкости мышления. Эта библиотека позволяет сильно упростить работу с DOM и AJAX + его использует большое количество полезных плагинов.

Другое дело, что если человек не понимает основ и не имеет опыта, то он будет писать плохой код вне зависимости от используемой библиотеки или фреймворка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
NetLab Москва
от 35 000 до 50 000 руб.
Римэкс Екатеринбург
от 70 000 руб.
Legalbet Саратов
от 50 000 руб.
08 дек. 2019, в 10:14
10000 руб./за проект
08 дек. 2019, в 06:49
3000 руб./за проект
08 дек. 2019, в 05:56
2000 руб./за проект