jQuery 4.0.0 beta: что нового?
Свершилось событие, которое было мало ожидаемо, но сильно удивило многих разработчиков. Оказывается JS библиотека, которая стояла у истоков интерактивного веба до сих пор развивается. Команда разработчиков jQuery, после последнего мажорного релиза состоявшегося 7 лет назад, объявила о выходе бета-версии jQuery 4.0.0 — нового мажорного обновления популярной JavaScript-библиотеки. Эта версия включает в себя множество исправлений ошибок, улучшений производительности и ломающих изменений. Одним из самых заметных нововведений является отказ от поддержки IE 10 и старше, а также других устаревших браузеров.
В jQuery 4.0.0 также был удален устаревший и ненужный код, а также некоторые API, которые были помечены как устаревшие в предыдущих версиях. Кроме того, были убраны некоторые “магические” поведения, которые были слишком сложными и неочевидными. Для того, чтобы помочь разработчикам перейти на новую версию, команда jQuery опубликует подробное руководство по миграции, а также плагин jQuery Migrate, который будет обнаруживать и исправлять потенциальные проблемы.
Бета-версия jQuery 4.0.0 доступна для скачивания с официального CDN и пакетного менеджера npm. Третьесторонние CDN не будут хостить эту бета-версию, но будут хостить финальную версию 4.0.0 позже. Вот некоторые основные моменты для jQuery 4.0.0 beta.
Прощайте, IE<11 и другие устаревшие браузеры
Одним из самых значимых изменений в jQuery 4.0.0 является прощание с версиями Internet Explorer младше 11. Это соответствует планам команды постепенно устранять поддержку более старых версий IE, полное удаление которых запланировано для jQuery 5.0. Кроме того, поддержка других устаревших браузеров, таких как Edge Legacy, iOS <11, Firefox <65 и Android Browser, также прекращена в этом релизе. Удаление устаревшего кода привело к значительному уменьшению размера, что благоприятно сказывается на общей производительности.
Прощание с устаревшими API
jQuery 4.0.0 ознаменован удалением нескольких устаревших API, которые просуществовали в библиотеке несколько версий. Функции, такие как jQuery.cssNumber
, jQuery.isArray
, jQuery.parseJSON
и другие, были устранены для упрощения библиотеки и удаления устаревших или избыточных функций. Разработчиков приглашают ознакомиться с предстоящим полным руководством по обновлению для плавного перехода от этих устаревших функций.
Методы массивов вместо прототипа jQuery
В попытке выровняться с общепринятыми практиками, jQuery прощается с некоторыми методами массивов (push
, sort
и splice
) из своего прототипа. Разработчики, использующие эти методы в своих плагинах, должны быть в курсе изменений и обновить свой код соответственно.
Стандартизация порядка событий фокуса
jQuery 4.0.0 вносит изменения в порядок событий фокуса и потери фокуса для соответствия последней версии спецификации W3C. Это может привести к изменениям в коде для тех разработчиков, которые полагались на предыдущий порядок, но это обеспечивает единообразие современных браузеров.
Поддержка FormData в jQuery.ajax
Теперь библиотека включает поддержку двоичных данных, включая FormData, в AJAX-запросах. Это улучшение упрощает обработку двоичных данных и соответствует современным практикам веб-разработки.
Изменения в поведении JSONP
Автоматическое продвижение запросов JSONP было удалено в jQuery 4.0.0. Вместо этого библиотека рекомендует разработчикам использовать CORS для междоменного взаимодействия, обеспечивая более безопасное и ожидаемое поведение.
Миграция исходного кода jQuery в ES-модули
Заметным событием стал переход исходного кода jQuery из AMD в ES-модули. Это изменение облегчает импорт jQuery в виде модулей и предоставляет большую гибкость разработчикам.
Поддержка Trusted Types и CSP
jQuery 4.0.0 вводит поддержку Trusted Types, улучшая безопасность при манипулировании HTML. Теперь библиотека обрабатывает асинхронные запросы скриптов, используя теги <script>
, что уменьшает вероятность ошибок в политике безопасности содержимого (CSP).
Руководство по обновлению и улучшения в Slim Build
Для разработчиков, использующих jQuery 3.0+, процесс обновления до 4.0.0 ожидается гладким. Команда jQuery предоставляет подробное руководство по обновлению и плагин jQuery Migrate для выявления и решения проблем совместимости. Кроме того, Slim Build был дополнительно оптимизирован, уменьшив размер за счет удаления Deferreds и Callbacks, делая его компактным вариантом для тех, кто не требует этих функций.
В заключение, бета-релиз jQuery 4.0.0 сигнализирует о значительном шаге вперед в эволюции этой широко используемой библиотеки JavaScript. Разработчиков приглашают исследовать бета-версию, предоставить обратную связь и готовиться к окончательному выпуску, который обещает принести улучшенную производительность, современность и безопасность в проекты веб-разработки.