jQuery 4 НАКОНЕЦ-ТО вышла... (Что!?)

BBetter Stack
AI/미래기술자격증/평생교육컴퓨터/소프트웨어

Transcript

00:00:00jQuery 4 наконец-то вышла! И нет, не волнуйтесь, вы не переместились в прошлое — это
00:00:04просто первое крупное обновление с 2016 года. Оно было в бете два года и
00:00:09выходит спустя 20 лет после первого появления jQuery.
00:00:12Вас может удивить тот факт, что jQuery всё еще важна. 88% всех сайтов
00:00:17всё еще используют её, во многом благодаря WordPress. Но, как видите, довольно
00:00:21известные бренды тоже на ней работают. Как говорится, работает — не трогай.
00:00:25Вот только это обновление может кое-что и сломать, так как разработчики решили внести
00:00:29все те кардинальные изменения, которые планировали годами: чистка устаревшего
00:00:32кода, удаление устаревших API и недокументированных функций, а также куча исправлений.
00:00:38Так что давайте сразу перейдем к делу, разберем ключевые изменения и посмотрим,
00:00:42какой путь проделала jQuery за 20 лет.
00:00:49Первое важное изменение — помянем Internet Explorer 10 и ниже. Поддержка
00:00:53этих версий прекращена. Но не паникуйте, если смотрите это через Internet Explorer
00:00:5811. Его поддержку уберут только в jQuery 5, так что у вас еще есть время нажать
00:01:02кнопку подписки. Кроме того, прекращена поддержка Edge Legacy, версий iOS
00:01:07старше трех последних, Firefox старше двух последних и стокового браузера Android.
00:01:12Как видите, мы реально молодеем. Собственно, следующие 3 изменения как раз об этом.
00:01:17Переходим ко второму пункту: исходный код jQuery переводят с AMD на ES-модули.
00:01:22Теперь она должна отлично работать с Vite, Webpack и современными сборщиками без костылей.
00:01:27Так почему бы не попробовать установить её в свой следующий проект — просто ради
00:01:31интереса или из чувства ностальгии?
00:01:33Кстати, о ностальгии: это обновление наглядно показывает, как далеко продвинулся
00:01:36JavaScript. В третьем пункте у нас удаление целой пачки функций jQuery, потому что
00:01:41чистый JS их наконец-то догнал. Это такие штуки, как isArray, parseJSON, trim, now,
00:01:46isNumeric, isFunction и многие другие. Теперь почти всё это можно сделать
00:01:51средствами самого JavaScript без лишних библиотек. Немного безумно осознавать,
00:01:56что когда-то нам вообще была нужна библиотека для таких вещей, но такова
00:02:00эволюция языков программирования.
00:02:01Развиваются не только языки, но и браузеры. Четвертое изменение, последнее крупное
00:02:06в плане модернизации — исправление порядка фокуса. Если вы не знали,
00:02:11браузеры годами не могли договориться о порядке событий focus и blur, поэтому у jQuery
00:02:15была своя логика для единообразия. Но теперь, раз уж старые браузеры уходят в прошлое,
00:02:20все поддерживаемые версии (кроме IE) работают одинаково, и jQuery больше
00:02:24не будет переопределять нативное поведение.
00:02:29Видно, что команда сфокусировалась на современности, ведь многое из того, что делало jQuery
00:02:34полезной раньше, со временем просто стало частью JavaScript. Но в библиотеке
00:02:38всё еще есть вещи, которые можно обновить — например, Deferred и колбэки,
00:02:42которые можно заменить на промисы (если вы не в IE 11), или анимации,
00:02:47которые теперь гораздо проще реализовать на CSS. Если вы хотите пойти еще дальше,
00:02:52они обновили slim-сборку, вырезав кучу этих лишних модулей.
00:02:55Теперь она весит всего 19.5 КБ. Мне кажется, это отличный подход:
00:03:01оставить старые функции в полном пакете для тех, кому они нужны,
00:03:04и предложить легкую версию без лишнего груза, который сегодня уже не актуален.
00:03:08С основными переменами всё, но было еще море исправлений багов и мелких правок,
00:03:12некоторые из которых тянулись годами. Старейший баг, что я нашел, датирован 2014-м —
00:03:17он касался авто-преобразования JSON в JSONP. И его наконец-то пофиксили.
00:03:22Есть даже проблема 2015 года (помню, сам натыкался), когда CSS-сеттер jQuery
00:03:28автоматически добавлял «px» к любому числу без указанных единиц. Это тоже
00:03:33исправлено. Там еще много всего, что вы можете изучить самостоятельно.
00:03:37Вплоть до исправления опечаток. Но на разбор всего этого уйдет вечность.
00:03:42Лично мне просто хотелось взглянуть на jQuery и оценить её путь, ведь это
00:03:46потрясающая часть истории веб-разработки. Хотя, возможно, называть её «историей»
00:03:51даже грубо, учитывая, как активно она используется и поддерживается. Конечно,
00:03:56я бы не стал сегодня выбирать jQuery вместо React или другого фреймворка, но это
00:04:01хорошее напоминание: веб строится слоями. И порой именно «скучные» и старые
00:04:06инструменты удерживают интернет на плаву, особенно важные легаси-сервисы,
00:04:10которые никто не решается обновлять. Мне любопытно, а вы когда-нибудь
00:04:15пользовались jQuery? Пишите в комментариях и не забывайте подписываться.
00:04:19До встречи в следующем видео!

Key Takeaway

jQuery 4 — это масштабное обновление, направленное на модернизацию библиотеки через удаление устаревшего кода и улучшение совместимости с современными инструментами веб-разработки.

Highlights

Выход jQuery 4 стал первым крупным обновлением библиотеки с 2016 года

Прекращение поддержки устаревших браузеров, включая IE 10 и ниже, а также старых версий мобильных ОС

Переход исходного кода с AMD на современные ES-модули для лучшей совместимости с Vite и Webpack

Удаление функций, которые теперь реализованы в чистом JavaScript (isArray, trim, parseJSON)

Оптимизация slim-сборки до 19.5 КБ за счет удаления неактуальных модулей и CSS-анимаций

Исправление многолетних багов, включая ошибки с форматом JSONP и автоматическим добавлением пикселей в CSS

Timeline

Возвращение легенды и актуальность jQuery

Спустя 20 лет после своего появления jQuery выпускает версию 4.0, которая находилась в стадии бета-тестирования около двух лет. Несмотря на популярность React и Vue, библиотека до сих пор используется на 88% сайтов во всем мире, во многом благодаря экосистеме WordPress. Спикер отмечает, что обновление нацелено на глубокую чистку кода и удаление недокументированных функций, которые копились годами. Это критический момент для поддержки легаси-проектов, так как изменения могут нарушить обратную совместимость. Автор подчеркивает, что даже крупные бренды продолжают доверять этому инструменту.

Отказ от старых браузеров и переход на модули

Одним из самых значимых изменений стал официальный отказ от поддержки Internet Explorer версий 10 и ниже. Поддержка IE 11 пока сохраняется, но её удаление уже запланировано в пятой версии библиотеки. Вместе с этим прекращается поддержка Edge Legacy и устаревших версий Firefox, iOS и Android. Важным техническим шагом стал переход с формата AMD на современные ES-модули. Это позволяет jQuery бесшовно интегрироваться в современные циклы разработки с использованием таких сборщиков, как Vite и Webpack. Теперь разработчикам не нужно использовать дополнительные «костыли» для подключения библиотеки в новые проекты.

Эволюция JavaScript и удаление лишних функций

Современный стандарт JavaScript наконец-то внедрил возможности, которые раньше были доступны только через jQuery. В новой версии удалены такие методы, как isArray, parseJSON и trim, так как они теперь являются частью нативного языка. Спикер рассуждает о том, насколько сильно продвинулась веб-разработка, если раньше нам требовалась целая библиотека для простых манипуляций со строками. Также было исправлено поведение событий focus и blur, которое теперь соответствует нативным стандартам браузеров. Это изменение стало возможным благодаря тому, что современные браузеры наконец пришли к единому консенсусу в работе этих событий. jQuery больше не нужно переопределять логику фокуса для обеспечения кроссбраузерности.

Оптимизация веса и исправление древних багов

Команда разработчиков представила обновленную slim-сборку, которая весит всего 19.5 КБ благодаря удалению модулей Deferred и старых анимаций. Теперь вместо встроенных методов анимации разработчикам рекомендуется использовать CSS или нативные промисы. В релиз вошло огромное количество исправлений ошибок, некоторые из которых висели в трекере с 2014 года. Например, были исправлены проблемы с автоматическим преобразованием JSON в JSONP и некорректная работа CSS-сеттера с единицами измерения. В финале автор делает вывод, что хотя он и не выберет jQuery для нового проекта на замену React, библиотека остается фундаментом современного интернета. Это дань уважения инструменту, который до сих пор удерживает огромную часть глобальной сети на плаву.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video