поддерживаемый.
Ради синтаксического сахара и удобства разработки не стыдно использовать хоть какой инструмент.
Честно я раньше из-за этих 30кб и сам топил чтобы переписывать #js, ну переписали... а потом понадобилось что-то прикрутить, и в половине случаев приходится вернуть #jQuery. К тому де надо сказать что последние версии jQuery очень хорошо оптимизированы, их разработчики тоже в курсе про новый JS и в некоторых функциях, где раньше был код, теперь только заглушки для удобства кодинга (т.н. сахар). Короче не тормозит jQuery 3 #pagespeed так, как раньше.
Иногда и slim-версии хватает, она весит заметно меньше, но ни для minishop2, ни для mSearch2, ajaxform, pdoPage её не хватает, нужна полная.
Тут надо подходить системно: в массовых компонентах писать код так, чтобы он был:
- максимально красивый и понятный
- без зависимостей
Но это взаимоисключающие похоже пункты))
Но на практике что мы видим? Самые популярные js-решения на github поставляются в 2х версиях:
- standalone no dependency (весит больше)
- jQuery plugin (весит меньше, но вместе с сами jQuery больше чем первый)
Пруфы: fancybox, lightgallery, inputmask ...
ИМХО сейчас, как бы ни хотелось, даже в новых версиях популярных MODX-дополнений не стоит избавляться от jQuery жертвуя читабельность, простотой и краткостью кода.
Ну или стоит, чисто чтобы не отпугивать тех кто просто слышал что "jQuery фу старьё" но особо не разбирался. @ShevArtV что думаешь по теме (про новые версии)?
Про оптимизацию jQuery внутри ничего не скажу, меня её скорость работы никогда не смущала, а вот вес сильно не изменился. Что касается читаемости и красоты кода, то чистый JS вполне себе читабельный и красивый, тут как бы дело в первую очередь в том кто пишет, а не на чём. А найти аналоги плагинов без зависимостей, как ты сам отметил, можно. Опять же подключать каждый плагин отдельно в нужное время мне кажется более логичным, чем всё скопом. А главное, jQuery всегда должна быть первой, а если её подключают сторонние компоненты, то тебе надо за этим следить, чтобы не подключать дважды. В общем, мне кажется когда нет зависимостей легче понять что, как и когда подключается. Моральное устаревание так же имеет место быть.
Ну следить то не так уж сложно, там более с модулями, проверит typeof(jQuery) и сделать import, это же одна строка (ну да лишняя типа)
Обсуждают сегодня