jQuery 3.0 в альфа-версии


Команда JQuery анонсировала альфа-версии обоих вариантов jQuery — обе версии 3.0.

Если вам интересно, почему, похоже, существует большой разрыв между версиями, с которыми вы в настоящее время работаете, и предстоящим выпуском, ответ предоставлен в Query Adopts Semantic Versioning, в котором объясняется, как из этой версии несовместимые изменения будут сигнализироваться путем увеличения номера основной версии. .

Хотя в jQuery 3 есть «критические изменения», разработчики:

«Ожидаем, что эти выпуски не доставят особых проблем, когда дело доходит до обновления существующего кода»

а также говорят, что надеются, что на самом деле не повлияют на такое количество людей. Вы можете проверить вероятность проблем с помощью плагина jQuery Migrate.

Две ветви jQuery в будущем будут иметь один и тот же номер с ветвью «Compat», поддерживающей как можно больше браузеров, т.е. он будет иметь широкую совместимость, тогда как стандартный jQuery будет работать с текущей и предыдущей версиями браузеров, которые являются общими. на момент его выпуска.

В этом выпуске jQuery 3.0 поддерживает браузеры и среды начиная с IE9; в то время как jQuery Compat 3.0 включает поддержку IE8. Обе версии будут включать поддержку бесплатного браузера Яндекс.Браузер.

Основные критические изменения связаны с методами .show () и .hide (). Разработчики изменили методы, чтобы вернуться к простой модели, которая сломает некоторый код, но преодолеет исторический беспорядок.

Причина, по которой это изменение необходимо, заключается в том, что, хотя базовые методы .hide () и .show () изменяют отображение элементов в CSS, со временем эти методы были расширены для работы с особыми случаями. Это привело к необходимости в обработчиках jQuery, которые отслеживают события изменения ориентации или изменения размера и вручную скрывают или отображают части страницы; он побеждает элегантное решение, которое пытались реализовать медиа-запросы.

Как говорится в сообщении в блоге:

«JQuery был уже примерно на полпути к полному безумию, и не имело смысла завершать этот путь. Особые случаи и проверки были не только сложными и неполными, но и вызвали значительные проблемы с производительностью на больших страницах ».

Решением было серьезное упрощение модели.

Другим важным изменением является добавление полной поддержки спецификации ECMAScript 6 Promises / A +. Объекты jQuery.Deferred обновлены и проверены на соответствие. Необходимость соответствия привела к введению метода .catch () и некоторым важным изменениям в методе .then (). В частности, если обратный вызов .then () вызывает исключение, он становится значением отклонения. Раньше исключения постоянно всплывали, прерывая выполнение обратного вызова и необратимо блокируя родительский и дочерний отложенные объекты.

Также была улучшена поддержка новой спецификации набора данных HTML5. Теперь это правильно поддерживается через .data (), что означает, что вы получаете доступ ко всем атрибутам data- *, вложенным в элемент HTML. Все ключи теперь преобразованы из kebab-case в camelCase, независимо от метода доступа, и цифры больше не участвуют в преобразовании.

Еще одно изменение специалиста, которое может привести к гораздо более высокой производительности, связано с ускорением некоторых пользовательских селекторов jQuery. Разработчики определили несколько случаев, когда можно пропустить некоторую работу, когда пользовательские селекторы, такие как: visible, используются много раз в одном документе. В одном конкретном случае до 17 раз быстрее.


Добавить комментарий