Safari 27: новые возможности, улучшения совместимости и расширенные веб‑API

В статье рассматриваются ключевые изменения в Safari 27 — 58 новых функций и более 500 исправлений, новые возможности CSS и позиционирования, а также нововведения в Safari Technology Preview, включая Promise Integration API, поддержку WebGPU и расширенные сервис‑воркеры. Читатель узнает, как эти улучшения влияют на разработку, безопасность и оптимизацию веб‑приложений.

GGPTсоздал статью 15 июня 2026
ВВеб-стандартызагрузил видео 15 июня 2026

Safari 27 представляет 58 новых возможностей (customizable select, псевдокласс heading, свойства revert row и stretch, атрибут overflow Anor, авто‑значение sizes) и более 500 исправлений совместимости, включая улучшенный тип Anchor position. Safari Technology Preview получил более ста улучшений: Promise Integration API, поддержку HTML‑тега 3D‑моделей, новые правила маршрутизации сервис‑воркеров, расширенный ReadableStream и поддержку WebGPU/WebRTC, а также новые SVG‑атрибуты lang и xml:lang. Статья также освещает дебаты о избыточном async/await, изменения в политике npm 12, направленные на повышение безопасности, и проблемы с клиентскими хинтами при адаптивных изображениях, которые пока поддерживают лишь Chrome, Edge и Opera.

#Safari 27: совместимость и новые возможности

В начале осеннего релиза Safari 27 разработчики компании Apple сделали основной упор на исправление несовместимостей с современными веб‑стандартами. По словам ведущих подкаста «Вебстандарты», Алексей Симоненко и Полина Гуртовая, Apple усиливает работу над точностью реализации спецификаций, чтобы обеспечить более предсказуемое поведение браузера для разработчиков. В итоговом наборе изменений представлено 58 новых возможностей и более 500 исправлений.

Среди ключевых нововведений — ввод customizable select, позволяющего пользователям изменять поведение выпадающих списков без необходимости писать собственные скрипты. Функция уже доступна в Safari Technology Preview и будет включена в стабильный релиз. Также была улучшена система позиционирования элементов: новый тип Anchor position корректно обрабатывает трансформации, что решает ряд проблем с размещением всплывающих окон и модальных диалогов. Псевдокласс heading заменяет традиционную последовательность H1‑H6, упрощая стилизацию заголовков.

В CSS появились ключевые слова revert row и stretch, расширяющие возможности отката стилей и растягивания элементов до полной ширины контейнера. Новый атрибут overflow Anor устраняет «прыжки» скролла при динамическом добавлении или удалении контента, что особенно актуально для новостных лент и бесконечных прокруток. Кроме того, значение auto для атрибута sizes позволяет браузеру точнее рассчитывать размеры адаптивных изображений.

#Новые веб‑API в Safari Technology Preview

Тестовая версия Safari Technology Preview получила более ста улучшений, среди которых заметно расширилась поддержка асинхронных механизмов. Встроенный Promise Integration API (JSPI) позволяет писать синхронно выглядящий код, который в реальности ожидает асинхронные операции, тем самым упрощая интеграцию JavaScript с другими языками выполнения.

Поддержка HTML‑тега для 3D‑моделей открывает двери для более интерактивных коммерческих решений, позволяя отображать объекты в реальном времени без привлечения сторонних плагинов. Сервис‑воркеры получили возможность объявлять правила маршрутизации, что расширяет возможности создания прогрессивных веб‑приложений с более гибкой обработкой запросов.

Read‑only stream API был доработан: теперь объект ReadableStream может асинхронно итерировать любые источники данных, а также конвертировать синхронные и асинхронные итераторы в поток. В области графики и медиа Safari добавил поддержку WebGPU и WebRTC, а также расширил механизмы безопасности и работы с расширениями. Наконец, в SVG вводятся новые атрибуты lang и xml:lang, улучшающие доступность текста внутри векторных изображений.

#Асинхронность в JavaScript: практические дискуссии

Параллельно с развитием браузерных возможностей в сообществе продолжаются дебаты о целесообразности широкого применения асинхронных функций. В одной из статей Мэт Смит указывает, что избыточное использование async/await создаёт дополнительную когнитивную нагрузку и усложняет отладку. Автор статьи, соглашающийся с позицией Смита, подчёркивает, что синтаксис асинхронных функций увеличивает нагрузку на движок и может негативно сказаться на производительности, если применяется без реальной необходимости.

Тем не менее, автор признаёт, что в некоторых сценариях, например при работе с базами данных или внешними сервисами, асинхронный подход остаётся оправданным. Важным моментом остаётся правильное определение контракта функции: если её выполнение не зависит от внешних ресурсов, сохранение синхронного характера кода предпочтительно.

Эти аргументы находят отклик в обсуждениях подкаста «Вебстандарты», где Полина подчеркивает необходимость осознанного выбора между синхронными и асинхронными API, а также необходимость рефакторинга существующего кода для поддержания чистой архитектуры.

#Безопасность и политика npm в версии 12

После серии инцидентов с компрометацией пакетов npm команда проекта объявила о планах выпускa версии 12, в которой изменятся стандартные поведения менеджера пакетов. По новой политике установка зависимостей без явного согласия будет запрещена, а разрешение git‑зависимостей и зависимостей по удалённым URL будет отключено по умолчанию. Эти меры направлены на снижение риска атак через подмену кода и улучшение общей безопасности экосистемы.

Разработчики PNPM отмечают, что npm отстаёт в реализации подобных функций, предлагая альтернативные подходы к управлению зависимостями. Тем временем сообщество продолжает обсуждать баланс между гибкостью установки и необходимостью строгих проверок, особенно в контексте автоматических CI/CD конвейеров.

#Адаптивные изображения и клиентские хинты

Вопрос оптимальной загрузки изображений остаётся актуальным, несмотря на развитие новых браузерных возможностей. Тема клиентских хинтов (Client Hints) часто всплывает в разговорах о респонс‑ивных изображениях. Хинты позволяют передавать сведения о размере вьюпорта и плотности пикселей серверу, что потенциально улучшает подбор оптимального ресурса. Однако поддержка этой технологии ограничена Chrome, Edge и некоторыми версиями Opera, тогда как Safari и Firefox её пока не реализуют.

Отсутствие кросс‑браузерной поддержки вызывает опасения по поводу безопасности: определённые хинты могут быть использованы в фишинговых атаках, если злоумышленник получит доступ к данным о пользовательском устройстве. Разработчики рассматривают альтернативные решения, такие как вычисление размеров через JavaScript, однако такой подход порождает необходимость в полифиллах и усложняет поддержку кода.

Тем временем некоторые эксперты, включая Джейсона Грисби, указывают на то, что современный браузерный механизм уже способен подбирать изображения, учитывая доступное пространство, что уменьшает необходимость в сложных схемах адаптивного выбора.

#Вывод

Презентация Safari 27 подтвердила стратегический фокус Apple на совместимости и точной реализации веб‑стандартов, одновременно вводя значительные улучшения в CSS, позиционировании и скроллинге. Тестовая ветка Safari Technology Preview расширила набор асинхронных API, поддержала 3D‑модели, улучшила сервис‑воркеры и потоковую обработку данных, а также внедрила новые возможности в области графики и безопасности. Параллельно сообществу предстоит решить вопросы избыточного применения асинхронных функций в JavaScript и сбалансировать гибкость и безопасность в менеджерах пакетов, таких как npm 12. Наконец, проблема оптимальной загрузки изображений остаётся открытой: клиентские хинты обещают упрощённый подход, но их ограниченная поддержка заставляет разработчиков искать компромиссы между кросс‑браузерностью и производительностью. Все эти динамики указывают на то, что веб‑экосистема продолжает эволюционировать, требуя от разработчиков постоянного внимания к нововведениям, совместимости и вопросам безопасности.

Education