Обновления Safari 26.4 и Firefox 149: новые веб‑стандарты, контейнерные запросы и развитие TypeScript
The user wants a title, description, and globalSummary based on the article. The answer should be in Russian, with a concise title, a 1-2 sentence SEO description, and a 2-3 sentence global summary. The answer should be formatted as a JSON object with keys title, description, and globalSummary.
The user wants a title, description, and globalSummary based on the article. The answer should be in Russian, with a concise title, a 1-2 sentence SEO description, and a 2-3 sentence global summary. The answer should be formatted as a JSON object with keys title, description, and globalSummary.
#Обзор последних обновлений браузеров, веб‑стандартов и TypeScript
#Обновления Safari
Последний релиз Safari (версия 26.4) привлек внимание разработчиков как из‑за обнаруженных в нём багов, так и благодаря ряду значимых нововведений. Разработчики браузера активно приглашают сообщество к отправке баг‑репортов, что позволяет ускорить исправление несовместимостей, в частности с устаревшими решениями. Одним из ключевых достижений стала первая стабильная реализация спецификации Grid Lanes, открывающая новые возможности для построения сложных сеток.
В Safari Technology Preview была реализована функция, известная как Greit Wines (контейнерные запросы), позволяющая использовать выражения от контейнера для адаптивного построения компонентов. Эта возможность, впервые появившаяся в Safari, уже получила поддержку в Chrome и Firefox, что свидетельствует о её важности для современной веб‑архитектуры. Кроме того, в браузере появились возможности изменения курсора на маркере, что упрощает работу с математическими задачами, а также поддержка контейнеров для изоляции стилей и изменения поведения элементов в зависимости от их вложенности.
Среди пользовательских улучшений Safari добавила поддержку атрибута hint в popover‑элементах, позволяющего создавать всплывающие подсказки при наведении. Также реализованы функции shape‑outside и vertical‑line‑middle, расширяющие возможности позиционирования и создания сложных форм. Для работы с математическими формулами введена поддержка масштабирования и анимации, а также возможность использовать математические функции внутри атрибута SIES в HTML, что упрощает построение сложных выражений.
Технические улучшения включают исправление проблем с относительными единицами измерения, зумом и таблицами, а также оптимизацию работы с font‑face‑set. Safari теперь поддерживает протокол HTTP/3, работающий по UDP, что повышает скорость передачи данных. В браузер также интегрированы WebTransport, WebSockets и WebRTC, предоставляя разработчикам низкоуровневый API для создания потоков данных и реального времени. Дополнительно реализованы Keyboard API, KPI‑метрики и механизм scope‑регистрации, позволяющий создавать уникальные имена компонентов и избегать конфликтов.
#Обновления Firefox
В то время как Safari сосредотачивается на новых веб‑стандартах, Firefox в своих последних версиях (149 и предстоящей 150) предлагает как улучшения пользовательского интерфейса, так и расширения возможностей веб‑разработки. В одном из эпизодов подкаста «Вебстандар» обсуждалась проблема длинной пустой полоски в навигации сайта developer.mozilla.org, а также предлагались варианты использования сайдбара для сокращения длины левой колонки, что свидетельствует о внимании к удобству навигации.
Firefox 149 ввёл поддержку функций XY, WH и R (а также RT) для свойства shape‑outside, позволяя создавать сложные формы и нестандартное расположение текста. Версия также унифицировала вертикальное выравнивание по всему документу и добавила возможность задавать качество ресайза изображений. Появилась Reporting API, позволяющая собирать отчёты о проблемах с CSP и другими политиками безопасности, упрощая их обнаружение и решение.
Важным нововведением стала поддержка сплит‑режима, позволяющего разделять одну вкладку на два окна, а также возможность использовать сплиты в расширениях, что расширяет гибкость пользовательского интерфейса. Firefox также внедрил типизированную объектную модель для CSS, упрощая работу со стилями и конвертацию единиц измерения через программный интерфейс. Поддержка формата JPEG XL улучшила эффективность загрузки изображений, а в цветовой палитре появились альфа‑канал и новые цветовые пространства, а также возможность стилизации медиа‑элементов в зависимости от их состояния.
Для улучшения пользовательского опыта в Firefox реализованы popover‑элементы с атрибутом hint, позволяющие создавать подсказки, а также поддержка системного шрифта «Family Math», оптимизированного для отображения математических формул. Атрибут SIES теперь допускает использование математических функций в HTML, а также добавлена возможность менять курсор на маркере, аналогично Safari. Кроме того, в браузере реализованы свойства shape‑outside и vertical‑line‑middle, расширяющие возможности позиционирования элементов.
#Эволюция TypeScript
Параллельно с развитием браузеров язык TypeScript претерпевает значительные изменения. Версия 6.0, являющаяся переходной, принесла ряд новых возможностей: поддержка стандарта Temporal, функции getOrInsert и getOrInsertComputed для работы с картами, а также флаг stableTypeOrdering, позволяющий упорядочивать типы и объединения в предсказуемом порядке. В этой версии также реализована параллельная компиляция, что ускоряет процесс сборки, хотя может вызвать сложности с сортировкой типов.
Важным аспектом 6.0 стали изменения, требующие включения специального флага для сохранения совместимости, а также предупреждения о потенциальных breaking changes, связанных с дефолтными значениями. Это позволяет разработчикам заранее адаптировать конфигурацию проекта.
Следующая версия, TypeScript 7.0, планируется как крупный шаг вперёд: язык будет переписан на Go, что, по заявлению разработчиков, увеличит скорость компиляции в десять раз. При этом сохранятся новые возможности, появившиеся в 6.0, и будет решена проблема сортировки типов, хотя в процессе перехода могут возникнуть новые нюансы. Таким образом, TypeScript находится в фазе активного развития, направленного на повышение производительности и расширение возможностей типизации.
#Стандарты CSS и миксины
Работа над новыми возможностями CSS продолжается в рамках CSS Working Group. Одним из приоритетных направлений является разработка директивы @mixin, позволяющей объявлять идентификаторы с аргументами и использовать их как функции внутри стилей. Такая конструкция обещает упростить повторное использование наборов свойств и параметризацию стилей, однако вызывает вопросы о предсказуемости поведения в сложных сценариях, где наследование и каскадность могут приводить к неоднозначным результатам.
Проблема миксинов усиливается при взаимодействии с элементами в Shadow DOM, где глобальная доступность миксинов может конфликтовать с локальными селекторами. В связи с этим обсуждаются упрощённые версии миксинов, работающие с макросами, а также возможность их применения в сочетании с новыми функциями, такими как container queries и container cascade layers, уже реализованные в Safari под названием Greit Wines.
Кроме того, в Firefox реализована типизированная объектная модель для CSS, позволяющая программно управлять стилями и конвертировать единицы измерения, что открывает новые возможности для динамического изменения внешнего вида страниц. В совокупности эти инициативы направлены на повышение гибкости и выразительности CSS, а также на упрощение разработки сложных интерфейсов.
#Транспортные протоколы и веб‑технологии
Поддержка современных транспортных протоколов стала важным элементом обновлений браузеров. Safari, как и другие крупные браузеры, теперь поддерживает HTTP/3, работающий по UDP, что обеспечивает более быструю и надёжную передачу данных по сравнению с традиционным TCP. На базе HTTP/3 реализован WebTransport — низкоуровневый API, позволяющий создавать потоковые соединения между клиентом и сервером, что особенно полезно для приложений реального времени.
В Safari также реализованы WebSockets и WebRTC, предоставляющие возможности двунаправленной коммуникации и передачи мультимедийных потоков. Дополнительные API, такие как Keyboard API, позволяют перехватывать ввод с клавиатуры, а KPI‑метрики дают возможность отслеживать ключевые показатели эффективности веб‑приложений. Поддержка scope‑регистрации упрощает управление именами компонентов, предотвращая конфликты в больших проектах.
Эти возможности делают Safari более конкурентоспособным в сфере веб‑приложений, требующих низкой задержки и высокой пропускной способности, и способствуют унификации подходов к реализации реального времени в разных браузерах.
#Вывод
Последние релизы Safari и Firefox демонстрируют активное развитие браузеров: Safari фокусируется на внедрении новых веб‑стандартов, таких как контейнерные запросы, улучшения в работе с математикой и поддержка современных транспортных протоколов, тогда как Firefox расширяет возможности пользовательского интерфейса, вводит новые функции для работы с формами, безопасностью и типизацией CSS. Параллельно язык TypeScript проходит через переходный этап, готовясь к значительному ускорению компиляции в версии 7.0. В CSS продолжаются усилия по стандартизации миксинов и контейнерных слоёв, что обещает более гибкую и модульную стилизацию. Совместное развитие этих технологий формирует более мощную и эффективную экосистему веб‑разработки, позволяя создавать сложные, производительные и безопасные веб‑приложения.