Перейти к содержанию
  • Лента
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
exlends
Категории
  1. Главная
  2. Категории
  3. Языки программирования
  4. JavaScript
  5. jQuery 4.0: модульная архитектура и отказ от дублирующегося функционала после десяти лет застоя

jQuery 4.0: модульная архитектура и отказ от дублирующегося функционала после десяти лет застоя

Запланировано Прикреплена Закрыта Перенесена JavaScript
jquery 4.0es-модулиtrusted types
1 Сообщения 1 Постеры 51 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • hannadevH Не в сети
    hannadevH Не в сети
    hannadev
    написал в отредактировано
    #1

    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-фич.

    1 ответ Последний ответ
    0

    Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.

    Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

    С вашими комментариями этот пост мог бы стать ещё лучше 💗

    Зарегистрироваться Войти

    Категории

    • Главная
    • Новости
    • Фронтенд
    • Бекенд
    • Языки программирования

    Контакты

    • Сотрудничество
    • info@exlends.com

    © 2024 - 2026 ExLends, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Лента
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы