Широко известно, что при использовании Angular или React вам не следует использовать jQuery (или, по крайней мере, следует использовать его осторожно, только если вы знаете, что делаете), потому что jQuery — это инструментарий DOM, а React/Angular имеют свои собственные способ работы с DOM под капотом, а они будут мешать и глючить.
Однако для меня jQuery — это больше, чем просто манипулирование DOM. Существует огромная экосистема библиотек, таблиц данных, уведомлений и всплывающих окон, карусельных плагинов, средств выбора календаря, поэтому для меня реальная ценность jQuery заключается в возможности использовать все эти готовые библиотеки, а не просто манипулировать DOM.
Чтобы иметь возможность использовать библиотеки на основе jQuery с Angular или React, обычно требуется библиотека порта/обертки, поэтому у нас есть такие вещи, как ng-bootstrap
или Reactstrap
возможность использовать Bootstrap с Angular и React соответственно, но обычно эти обертки либо глючат , новое программное обеспечение (= прослушивается), незрелое или не имеет некоторых функций (= не оборачивайте все).
Я пытаюсь найти фреймворк, в который можно естественным образом включить jQuery (а также Bootstrap, поскольку файл JS основан на jQuery) и его библиотеки, не мешая естественному потоку фреймворка. Я почти уверен, что подобная структура будет менее «волшебной» или менее «автоматической» (например, автоматический рендеринг и обновление DOM React), но мне все равно, придется ли мне рендерить шаблоны вручную.
Я слышал, что Backbone может довольно хорошо работать с jQuery, но я особо не пробовал Backbone, поэтому не знаю. Если вы согласны с этим, можете ли вы также объяснить, почему Backbone хорошо работает с jQuery и имеет лучшую интеграцию с ним, чем Angular или React?
Если вы имеете в виду фреймворк, попробуйте также включить примеры (объясненные в устной форме или с помощью кода, я не возражаю) успешных случаев, когда вы использовали фреймворк плюс библиотеку jQuery.
Я бы в значительной степени использовал Vue для чего угодно. Пример с их собственного сайта:
В этом примере мы интегрируем сторонний плагин jQuery (select2), помещая его в пользовательский компонент.
В любой среде вам придется обернуть любую активность jQuery в пользовательские компоненты, директивы или что-то еще.
герстемаут
Крис Вилчес
Уильям