<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[jQuery 4.0: модульная архитектура и избавление от устаревшего кода спустя 10 лет]]></title><description><![CDATA[<p dir="auto">jQuery 4.0 наконец вышла спустя почти десять лет после версии 3.0. Эта версия фокусируется на <strong>модульной архитектуре</strong> и полном избавлении от устаревшего функционала. Разработчики убрали код, который давно заменен нативным JavaScript, сделав библиотеку легче и современнее.</p>
<p dir="auto">Переход важен для проектов, где jQuery еще используется. Он решает проблемы совместимости с новыми сборщиками и политиками безопасности. Теперь библиотека лучше вписывается в современные workflows, без лишнего груза из прошлого.</p>
<h2>Модульная архитектура на ES-модулях</h2>
<p dir="auto">jQuery 4.0 полностью переписана на <strong>ECMAScript Modules (ESM)</strong>. Это значит, что исходный код теперь поставляется как модули, а не в старом формате AMD. Раньше для импорта требовался RequireJS, но теперь jQuery работает напрямую с Vite, webpack и Rollup. Такой подход упрощает интеграцию в современные бандлеры и браузеры.</p>
<p dir="auto">Миграция на ESM - это шаг к стандартизации. Библиотека тестируется на модулях отдельно, что повышает надежность. Размер после сжатия сократился, а разработка стала удобнее. Переход касается всех сборок, включая slim-версию.</p>
<p dir="auto">Вот ключевые изменения в модульной структуре:</p>
<ul>
<li><strong>Переход с AMD на ESM</strong>: Исходники мигрированы, поддержка Rollup для упаковки.</li>
<li><strong>Совместимость с бандлерами</strong>: Автоматическая обработка в Vite и webpack без хаков.</li>
<li><strong>Отдельные тесты для модулей</strong>: Гарантия стабильности в новых окружениях.</li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Сборка</th>
<th>Размер (gzip)</th>
<th>Что убрано</th>
</tr>
</thead>
<tbody>
<tr>
<td>Полная</td>
<td>27.5 КБ</td>
<td>Устаревшие API, старые браузеры</td>
</tr>
<tr>
<td>Slim</td>
<td>19.5 КБ</td>
<td>AJAX, анимации, Deferreds/Callbacks</td>
</tr>
</tbody>
</table>
<h2>Избавление от устаревших API и функций</h2>
<p dir="auto">В jQuery 4.0 удалены десятки <strong>deprecated API</strong>, которые давно имеют нативные альтернативы. Например, убраны <code>jQuery.isArray</code>, <code>jQuery.trim</code>, <code>jQuery.parseJSON</code>. Эти методы заменены стандартными <code>Array.isArray</code>, <code>String.prototype.trim</code>, <code>JSON.parse</code>. Код стал чище, а библиотека - меньше на 3 КБ в gzip.</p>
<p dir="auto">Удаление затрагивает и внутренние методы, вроде <code>Array.push</code>, <code>sort</code>, <code>splice</code> в объектах jQuery. Это нарушает обратную совместимость, но большинство проектов мигрируют легко. Для помощи есть миграционный плагин. Такие изменения избавляют от legacy-кода, накопленного за годы.</p>
<p dir="auto">Удаленные API и их замены:</p>
<ul>
<li><code>jQuery.isArray()</code> → <code>Array.isArray()</code></li>
<li><code>jQuery.trim()</code> → <code>str.trim()</code></li>
<li><code>jQuery.parseJSON()</code> → <code>JSON.parse()</code></li>
<li><em>Внутренние Array методы</em>: Полностью убраны для оптимизации.</li>
</ul>
<p dir="auto"><strong>Важный нюанс</strong>: Если код использует удаленные методы, нужен рефакторинг. Плагин миграции подскажет проблемы.</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Удалено</th>
<th>Альтернатива</th>
<th>Причина</th>
</tr>
</thead>
<tbody>
<tr>
<td>isArray</td>
<td>Array.isArray</td>
<td>Нативная поддержка с ES5</td>
</tr>
<tr>
<td>trim</td>
<td>str.trim()</td>
<td>Стандарт с 2009 года</td>
</tr>
<tr>
<td>parseJSON</td>
<td>JSON.parse</td>
<td>Встроено в браузеры</td>
</tr>
</tbody>
</table>
<h2>Обновления безопасности и браузерной поддержки</h2>
<p dir="auto">jQuery 4.0 добавила поддержку <strong>Trusted Types</strong> для защиты от XSS-атак. Теперь методы вроде <code>.html()</code> принимают объекты <code>TrustedHTML</code>, что идеально для строгих CSP. Это решает проблемы с DOM-манипуляциями и eval(). Библиотека теперь совместима с современными политиками безопасности.</p>
<p dir="auto">Поддержка браузеров сокращена: нет IE10 и старше, старых Edge, iOS&lt;11, Firefox&lt;65. IE11 пока остается, но уйдет в jQuery 5. Порядок событий focus/blur приведен к W3C-стандарту: blur → focusout → focus → focusin. Slim-сборка убрала Deferreds, полагаясь на нативные Promises.</p>
<p dir="auto">Ключевые улучшения:</p>
<ul>
<li><strong>Trusted Types</strong>: Защита от DOM XSS при вставке HTML.</li>
<li><strong>CSP-совместимость</strong>: Нет конфликтов со строгими политиками.</li>
<li><strong>События фокуса</strong>: Стандартный порядок без хаков.</li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Браузер</th>
<th>Поддержка в 4.0</th>
</tr>
</thead>
<tbody>
<tr>
<td>IE10</td>
<td>Нет</td>
</tr>
<tr>
<td>IE11</td>
<td>Да (пока)</td>
</tr>
<tr>
<td>Edge Legacy</td>
<td>Нет</td>
</tr>
<tr>
<td>Современные</td>
<td>Полная</td>
</tr>
</tbody>
</table>
<h2>Slim-сборка: максимальная легкость</h2>
<p dir="auto"><strong>Slim-версия</strong> jQuery 4.0 стала еще легче - всего 19.5 КБ gzip. Убраны модули AJAX, анимаций, Deferreds и Callbacks. Теперь для асинхронности используйте нативные Promises. Это идеально для проектов с базовыми DOM-операциями.</p>
<p dir="auto">Изменения делают slim-сборку минималистичной. Полная версия сохраняет все, но и она оптимизирована. Выбор зависит от нужд: если AJAX не нужен, берите slim. Тесты подтверждают стабильность обеих.</p>
<p dir="auto">Преимущества slim:</p>
<ul>
<li><em>Размер 19.5 КБ</em>: На 3 КБ меньше предыдущей.</li>
<li>Без AJAX/effects: Только DOM-манипуляции.</li>
<li>Promises вместо Deferreds: Стандартный API.</li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Версия</th>
<th>Размер</th>
<th>Модули</th>
</tr>
</thead>
<tbody>
<tr>
<td>Полная</td>
<td>27.5 КБ</td>
<td>Все</td>
</tr>
<tr>
<td>Slim</td>
<td>19.5 КБ</td>
<td>Базовые</td>
</tr>
</tbody>
</table>
<h2>Что jQuery 4.0 меняет в проектах</h2>
<p dir="auto">jQuery 4.0 закрывает десятилетний цикл обновлений, сделав библиотеку актуальной для 2026 года. Остались нюансы миграции для legacy-проектов и полное удаление IE-поддержки в будущем. Стоит оценить, нужен ли jQuery или хватит vanilla JS для новых задач.</p>
]]></description><link>https://forum.exlends.ru/topic/1426/jquery-4.0-modulnaya-arhitektura-i-izbavlenie-ot-ustarevshego-koda-spustya-10-let</link><generator>RSS for Node</generator><lastBuildDate>Sat, 17 Oct 2026 03:01:34 GMT</lastBuildDate><atom:link href="https://forum.exlends.ru/topic/1426.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Mar 2026 17:21:39 GMT</pubDate><ttl>60</ttl></channel></rss>