Что ждать от jQuery v4

В феврале команда jQuery предоставила бета-версию новой библиотеки jQuery 4.0.0.Это является тестовым релизом, но в ближайшее время ожидается стабильная версия. Это версия добавляет значительные изменения с целью оптимизации и для соответствия современным стандартам веб-разработки. И посмотрим ключевые моменты которые пришли с этим релизом:

IE 11 и старее, прощайте

Новая версия убирает из поддержки работу в старых браузерах типа IE и оптимизирует свой код для современных сред. И удаление поможет в том числе для уменьшения веса довольно большой библиотеки.

Удаление устаревших API

Этот список был уже устаревшим и ранее, но пришло время их удалить на совсем в этом релизе. Эти функции были предназначены для внутреннего использования или у них есть уже аналоги. Они включают:

  • jQuery.cssNumber
  • jQuery.cssProps
  • jQuery.isArray
  • jQuery.parseJSON
  • jQuery.nodeName
  • jQuery.isFunction
  • jQuery.isWindow
  • jQuery.camelCase
  • jQuery.type
  • jQuery.now
  • jQuery.isNumeric
  • jQuery.trim
  • jQuery.fx.interval

Убраны методы push, sort, splice

В 4 версии убраны устаревшие методы по работе с массивами, которые уже давно существуют в нативном js. При переходе на новую версию, изменение кода будут выглядеть так: `[].push.call($elems, elem) вместо $elems.push(elem))`. Эти изменения также могут повлиять на плагины

Порядок событий у focusin и focusout

Изменение коснулось порядка событий focusin, focusout, focus, blur. У jQuery ранее был свой порядок, но теперь он соответствует спецификации W3C, за исключением IE. Новый порядок следует так:

  • blur
  • focusout
  • focus
  • focusin

Поддержка FormData

Теперь jQuery поддерживает двоичные данные, включая FormData в запросах AJAX. Это является нарушение совместимости, но обеспечивает автоматическую обработку двоичных данных и соответствует ожидаемому поведению.

Убрано использование JSONP

В новой версии исключили продвижение запросов JSONP. Библиотека придерживается современных практик междоменного взаимодействия в соответствии с политикой CORS. Эта мера направленна на предотвращение неожиданного поведения и соответствие jQuery стандартам веб-безопасности.

Переход к модулям ES

Существенное изменение в 4 версии связано с переходам к модулям ECMAScript (ES). Это переход улучшает совместимость с современными системами модулей JS, например с Rollup. Теперь можно напрямую импортировать модули из jQuery без необходимости в RequireJS, упрощая интеграцию в многие проекты.

Trusted Types и CSP

jQuery вводит поддержку Trust Types, которое обеспечит безопасное использование HTML в методах jQuery (html(), append() и пр) в соответствии с Content Security Policy. Также в асинхронных запросах скриптов были внесены корректировки для уменьшение ошибок с CSP.

Миграция на новую версию

Переход с jQuery 3.0+ на 4.0.0 должен быть плавным. Разработчики смогут использовать плагин jQuery Migrate, который поможет выявить и устранить проблемы с совместимостью, обеспечив более плавный переход к последней версии.

Сжатый вариант новой версии

В v 4.0.0 сжатый вариант прошел дополнительную оптимизацию за счет исключения deferreds и callbacks. Это сократило размер, что особенно полезно сегодня. В итоге «сжатый вариант» (или slim build) это обновленная библиотека предоставляет легковесную альтернативу, которая не жертвует какой-либо функциональностью.

Читайте также
Чем функции в React.js лучше классов
Чем функции в React.js лучше классов
Чем функции в React.js лучше классов

В последнее время функции используют чаще, чем классы при разработке на React.js, популярной библиотеки для создания пользовательских интерфейсов. При этом React позволяет разработчикам создавать компоненты с использованием как функций, так и классов. В этом материале рассмотрим, почему так вышло.

Сжатие и распаковка в браузере с помощью Compression Streams API
Сжатие и распаковка в браузере с помощью Compression Streams API
Сжатие и распаковка в браузере с помощью Compression Streams API

С API веб-приложениям больше не нужно предоставлять собственную библиотеку сжатия или распаковки.

Dev новости: Инструменты и интеграции ИИ, Pull Requests Gone Wild
Dev новости: Инструменты и интеграции ИИ, Pull Requests Gone Wild
Dev новости: Инструменты и интеграции ИИ, Pull Requests Gone Wild

На этой неделе OpenAI привлекла внимание новостями о добавлении дополнительной памяти к ChatGPT и представлении Sora, новой модели текста в видео, но разработчиков могут заинтересовать и другие объявления компании.

Dev новости: Astro 4, Deno и cron, Webstorm релиз, Storybook релиз, Node.js 20 бета, Django
Dev новости: Astro 4, Deno и cron, Webstorm релиз, Storybook релиз, Node.js 20 бета, Django
Dev новости: Astro 4, Deno и cron, Webstorm релиз, Storybook релиз, Node.js 20 бета, Django

В Deno добавили очередь cron, Релиз 2023.3 Webstorm с AI ассистентом, Storybook последняя версия 7.6 перед 8, и бета Node.js 20