Что ждать от 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) это обновленная библиотека предоставляет легковесную альтернативу, которая не жертвует какой-либо функциональностью.

Читайте также
Запустили llm.js — библиотеку для запуска больших языковых моделей в браузере
Запустили llm.js — библиотеку для запуска больших языковых моделей в браузере
Запустили llm.js — библиотеку для запуска больших языковых моделей в браузере

Появилась библиотека llm.js для запуска больших языковых моделей в браузере. Она написана на JavaScript. Библиотеку опубликовали на GitHub.

Chrome 120 beta
Chrome 120 beta
Chrome 120 beta

Новые 7 фич для CSS. Улучшения для nesting (вложенности стилей). Создание «аккордиона» для через элемент details и многое другое.

У Joomla 4.4.0 вышла русская локализация 
У Joomla 4.4.0 вышла русская локализация 
У Joomla 4.4.0 вышла русская локализация 

Известно, что работа над переводом Joomla на русский язык идёт на GitHub.

Дайджест новостей по Java
Дайджест новостей по Java
Дайджест новостей по Java

В обзоре обновления OpenJDK, JDK 22, Azul Code Inventory, Spring Shell 3.1.4, 3.0.8 и 2.1.13, Testcontainers 1.19.1.