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

jQuery 4.0: модульная архитектура и избавление от устаревшего кода спустя 10 лет

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

    jQuery 4.0 наконец вышла спустя почти десять лет после версии 3.0. Эта версия фокусируется на модульной архитектуре и полном избавлении от устаревшего функционала. Разработчики убрали код, который давно заменен нативным JavaScript, сделав библиотеку легче и современнее.

    Переход важен для проектов, где jQuery еще используется. Он решает проблемы совместимости с новыми сборщиками и политиками безопасности. Теперь библиотека лучше вписывается в современные workflows, без лишнего груза из прошлого.

    Модульная архитектура на ES-модулях

    jQuery 4.0 полностью переписана на ECMAScript Modules (ESM). Это значит, что исходный код теперь поставляется как модули, а не в старом формате AMD. Раньше для импорта требовался RequireJS, но теперь jQuery работает напрямую с Vite, webpack и Rollup. Такой подход упрощает интеграцию в современные бандлеры и браузеры.

    Миграция на ESM - это шаг к стандартизации. Библиотека тестируется на модулях отдельно, что повышает надежность. Размер после сжатия сократился, а разработка стала удобнее. Переход касается всех сборок, включая slim-версию.

    Вот ключевые изменения в модульной структуре:

    • Переход с AMD на ESM: Исходники мигрированы, поддержка Rollup для упаковки.
    • Совместимость с бандлерами: Автоматическая обработка в Vite и webpack без хаков.
    • Отдельные тесты для модулей: Гарантия стабильности в новых окружениях.
    Сборка Размер (gzip) Что убрано
    Полная 27.5 КБ Устаревшие API, старые браузеры
    Slim 19.5 КБ AJAX, анимации, Deferreds/Callbacks

    Избавление от устаревших API и функций

    В jQuery 4.0 удалены десятки deprecated API, которые давно имеют нативные альтернативы. Например, убраны jQuery.isArray, jQuery.trim, jQuery.parseJSON. Эти методы заменены стандартными Array.isArray, String.prototype.trim, JSON.parse. Код стал чище, а библиотека - меньше на 3 КБ в gzip.

    Удаление затрагивает и внутренние методы, вроде Array.push, sort, splice в объектах jQuery. Это нарушает обратную совместимость, но большинство проектов мигрируют легко. Для помощи есть миграционный плагин. Такие изменения избавляют от legacy-кода, накопленного за годы.

    Удаленные API и их замены:

    • jQuery.isArray() → Array.isArray()
    • jQuery.trim() → str.trim()
    • jQuery.parseJSON() → JSON.parse()
    • Внутренние Array методы: Полностью убраны для оптимизации.

    Важный нюанс: Если код использует удаленные методы, нужен рефакторинг. Плагин миграции подскажет проблемы.

    Удалено Альтернатива Причина
    isArray Array.isArray Нативная поддержка с ES5
    trim str.trim() Стандарт с 2009 года
    parseJSON JSON.parse Встроено в браузеры

    Обновления безопасности и браузерной поддержки

    jQuery 4.0 добавила поддержку Trusted Types для защиты от XSS-атак. Теперь методы вроде .html() принимают объекты TrustedHTML, что идеально для строгих CSP. Это решает проблемы с DOM-манипуляциями и eval(). Библиотека теперь совместима с современными политиками безопасности.

    Поддержка браузеров сокращена: нет IE10 и старше, старых Edge, iOS<11, Firefox<65. IE11 пока остается, но уйдет в jQuery 5. Порядок событий focus/blur приведен к W3C-стандарту: blur → focusout → focus → focusin. Slim-сборка убрала Deferreds, полагаясь на нативные Promises.

    Ключевые улучшения:

    • Trusted Types: Защита от DOM XSS при вставке HTML.
    • CSP-совместимость: Нет конфликтов со строгими политиками.
    • События фокуса: Стандартный порядок без хаков.
    Браузер Поддержка в 4.0
    IE10 Нет
    IE11 Да (пока)
    Edge Legacy Нет
    Современные Полная

    Slim-сборка: максимальная легкость

    Slim-версия jQuery 4.0 стала еще легче - всего 19.5 КБ gzip. Убраны модули AJAX, анимаций, Deferreds и Callbacks. Теперь для асинхронности используйте нативные Promises. Это идеально для проектов с базовыми DOM-операциями.

    Изменения делают slim-сборку минималистичной. Полная версия сохраняет все, но и она оптимизирована. Выбор зависит от нужд: если AJAX не нужен, берите slim. Тесты подтверждают стабильность обеих.

    Преимущества slim:

    • Размер 19.5 КБ: На 3 КБ меньше предыдущей.
    • Без AJAX/effects: Только DOM-манипуляции.
    • Promises вместо Deferreds: Стандартный API.
    Версия Размер Модули
    Полная 27.5 КБ Все
    Slim 19.5 КБ Базовые

    Что jQuery 4.0 меняет в проектах

    jQuery 4.0 закрывает десятилетний цикл обновлений, сделав библиотеку актуальной для 2026 года. Остались нюансы миграции для legacy-проектов и полное удаление IE-поддержки в будущем. Стоит оценить, нужен ли jQuery или хватит vanilla JS для новых задач.

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

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

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

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

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

    Категории

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

    Контакты

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

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

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

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

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