jQuery 4.0: модульная архитектура и отказ от дублирующегося функционала после десяти лет застоя
-
jQuery 4.0 наконец вышла после почти десяти лет без крупных обновлений. Библиотека перешла на ES-модули, удалила устаревший код и стала легче. Это решает проблемы с совместимостью в современных проектах и сокращает размер бандла.
Обновление помогает разработчикам мигрировать на актуальные стандарты без лишнего веса. Теперь jQuery лучше работает с Vite и Webpack, а безопасность на уровне CSP. Застой закончился - библиотека снова конкурентоспособна.
Модульная архитектура на ES-модулях
Переход на ECMAScript Modules (ESM) - главное изменение в jQuery 4.0. Раньше код был на AMD, что мешало интеграции с современными сборщиками. Теперь библиотеку можно импортировать напрямую, без RequireJS. Это упрощает разработку и делает jQuery частью модульной экосистемы.
Разработчики протестировали все на Rollup, и тесты проходят отдельно для ESM. Совместимость с Vite, Rollup и Webpack выросла. Если ваш пайплайн использует CommonJS, может потребоваться доработка, но большинство инструментов справляются автоматически. Пример: вместо глобального подключения теперь
import $ from 'jquery';.Вот ключевые плюсы модульной структуры:
- Нативная поддержка браузеров: ESM работает без транспайлера в Chrome 61+.
- Дерево зависимостей: Сборщики лучше оптимизируют код.
- Легче отладка: Импорты видны в devtools.
Сравнение модульных систем Старый AMD Новый ESM Импорт RequireJS нужен Нативный import Размер бандла Больше overhead Меньше, tree-shaking Совместимость с Vite Плохо Отлично Отказ от дублирующего функционала
jQuery 4.0 удалила API, которые давно заменены нативным JavaScript. Это jQuery.isArray, jQuery.trim, jQuery.parseJSON и другие. Браузеры давно имеют Array.isArray, String.trim, JSON.parse. Код стал чище, библиотека легче на 3 КБ после сжатия.
Удалены недокументированные методы Array вроде push, sort, splice. Порядок событий focus/blur теперь по W3C: blur, focusout, focus, focusin. Это убирает хаки для старых браузеров. Размер slim-версии - 19.5 КБ, без AJAX, анимаций и Deferreds (заменены на Promises).
Удаленный функционал:
- Устаревшие проверки: isArray, isFunction - нативные альтернативы.
- Парсинг: parseJSON, parseXML - JSON.parse, DOMParser.
- Deferreds/Callbacks: Используйте Promise.all, нативные события.
Удалено Альтернатива Пример jQuery.trim String.prototype.trim() ' text '.trim()jQuery.isArray Array.isArray Array.isArray([])Deferred Promise Promise.resolve()Улучшения безопасности и поддержка браузеров
Trusted Types - новинка для защиты от XSS. Теперь методы jQuery принимают TrustedHTML, совместимо с CSP. Это предотвращает атаки через innerHTML или eval. Полезно для проектов с пользовательским контентом.
Поддержка браузеров сокращена: нет IE10, Edge Legacy, iOS<11, Firefox<65. IE11 пока есть, но уйдет в jQuery 5. Slim-версия без анимаций и AJAX идеальна для DOM-манипуляций. Для IE11 добавьте polyfill Promises.
Преимущества безопасности:
- Trusted Types в .html():
$(trustedHTML).appendTo(el). - CSP-совместимость: Нет нарушений политик.
- Binary data в AJAX: FormData поддерживается.
Браузеры jQuery 3.x jQuery 4.0 IE10 Да Нет IE11 Да Да (временно) Chrome 61+ Да Да + ESM jQuery в 2026: место в стеке
Релиз показывает, что jQuery жива и адаптируется. Модульность и чистка кода делают ее вариантом для legacy-проектов. В новых - нативный JS часто лучше, но для 70% сайтов она все еще актуальна.
Миграция простая: плагин помогает, большинство кода работает без изменений. Остается подумать о Promises в IE и tree-shaking в сборке. Дальше - jQuery 5 без IE11 и больше ESM-фич.
Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2024 - 2026 ExLends, Inc. Все права защищены.