Вебня – Telegram
Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Kranky Geek WebRTC Show 2021

Также сегодня пройдёт онлайн конференция, посвященная #WebRTC.

https://www.krankygeek.com

Список докладов:
- Welcome
- YouTube - WebRTC for gaming
- Matrix - Signaling
- Agora - leveraging virtual networks
- RingCentral - improving screensharing
- Twilio - WebRTC on mobile
- Dolby - Optimizing audio
- Google - Lyra: the new low bitrate codec
- Break out sessions
WebXR реализован в кодовой базе WebKit (но пока не работает в Safari)

Imanol Fernández из Igalia закончил реализацию WebXR в WebKit. Имплементация протестирована для WPE с использованием Monado OpenXR. Apple также работает над реализацией для Safari, но публичных данных о статусе разработки пока нет.
Forwarded from Веб-стандарты (Веб-стандарты)
CSS-нестинг — боль­ше, чем са­хар. Роман Дворнов разбирается в шумихе вокруг спецификации: насколько это сахар, как может расшириться атрибут style и какие перспективы внедрения нестинга в браузеры.

https://web-standards.ru/articles/css-nesting/
Web Engines Hackfest 2021

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

https://webengineshackfest.org/2021/
Опубликован WebGPU explainer

Этот стандарт разрабатывается как более эффективная замена WebGL и использует низкоуровневые API платформ (DirectX, Metal, Vulkan). Документ готовится к ревью W3C TAG.

https://gpuweb.github.io/gpuweb/explainer/
Прямо сейчас идёт #W3C #WebAssembly CG встреча, всё время которой займёт доклад Scoping and Layering of Module Linking and Interface Types. Пропозал Module Types решает проблему инициализации и линковки wasm-модулей без использовния зависимых от хоста механизмов, и в данный момент находится на phase 1. Interface Types позволяет использовать более высокоуровневые типы, чем те, что доступны в wasm и позволить оперировать ими из разных языков и рантаймов, он находится на phase 0.
Igalia Chats подкаст о Temporal

В этом подкасте обсуждается пропозал Temporal (stage 3) с его авторами. По ссылке также присутсвует транскрипция.

https://www.igalia.com/chats/Temporal
Forwarded from Веб-стандарты (Веб-стандарты)
Value Definition Syntax. София Валитова объясняет, как в спецификациях CSS читать грамматику синтаксиса, который используется для описания типов, значений свойств и селекторов.

https://ariarzer.dev/value-definition-syntax.html
Как использовать асинхронные API из #WebAssembly

Статья Ингвара Степаняна о том, как использовать инструмент Asincify с C++ (из Emnoscripten) и другими языками.

https://web.dev/asyncify/
Расширение Bytecode Alliance

Организация была создана в конце 2019 совместными усилиями Mozilla, Fastly, Intel и Microsoft (в первом анонсе упоминается также Red Hat) для работы над #WebAssembly за пределами веба, WASI и инструментарием. Теперь к ней присоединились Arm, DFINITY, Foundation, Embark Studios, Google Shopify и Университет Калифорнии (Сан Диего).

https://bytecodealliance.org/press/calling-for-new-members
https://blog.mozilla.org/blog/2021/04/28/growing-the-bytecode-alliance/
В Angular 12 View Engine будет по умолчанию заменён на Ivy

По статистике большинство разработчиков уже использует новый render pipeline Ivy. Для разработчиков переход должен стать незаметным, но имеется возможность использования View Engine (который получит статус depricated) при необходимости.

https://blog.angular.io/upcoming-improvements-to-angular-library-distribution-76c02f782aa4
⚡️ Спецификация Web Authentication: An API for accessing Public Key Credentials Level 3 выпущена в статусе First Public Working Draft. Напомню, что в феврале вторая версия спецификации получила статус Proposed Recommendation.
Вышел Vivaldi 3.8

https://vivaldi.com/blog/vivaldi-crumbles-cookie-dialogs-raises-privacy/

В новой версии:
- блокировщик GDRP cookie панелей
- отключен FLoC
- улучшенный UI
- улучшенная работа с закладками
и некоторые минорные изменения
Официальный обзор новых фич Safari 14.1

В блоге WebKit появилась статья со списком нововведений Safari 14.1, релиз которого для macOS и iOS состоялся в понедельник 26 апреля.

https://webkit.org/blog/11648/new-webkit-features-in-safari-14-1/

Я публиковал такой список ранее в феврале.
Import Assertions и JSON Modules уже в Chrome 91 Beta

Это значит, что примерно через месяц JSON Modules станут доступны в браузерах на основе Chromium. Пока не понято будет ли работать в ServiceWorker'ах в Chrome 91 или уже в последующих версиях. И есть проблемы с корректностью ошибок парсинга, но это не посчитали блокером.
Progress Delayed Is Progress Denied

Alex Russell опубликовал обширную статью о том как монополия Safari на iOS негативно сказывается на развитии веб платформы. Полезно к прочтению, если хотели разобраться почему и за что критикуют Apple/Safari, с фактами и данными. Статья интересна еще и тем, что в ней перечисленно большое количество "старых" и будущих API с коментариями и судьбой – можно узнать что-то новое или освежить знания по статусам.

https://infrequently.org/2021/04/progress-delayed/
Work with cookies the modern way

https://mefody.dev/chunks/cookie-store-api/

Статья Никиты Дубко о новом Cookie Store API, которое приходит на смену document.cookie. Доступно с Chrome 87, а вот насчет других браузеров пока нет сигналов, но для них можно использовать полифил.
V8 релиз v9.1

- Включили private brand checks по умолчанию (было за флагом), что позволяет использовать оператор in с приватными полями, то есть #foo in obj
- Включили top-level await по умолчанию (было за флагом). Стоит отметить что фича уже включена в Chrome 89 по умолчанию, видимо на подходе Node.js
- Пара специфичных оптимизаций
В Safari 14.1 сломан localStorage

Вчера Jake Archibald обнаружил, что localStorage сломан в последнем релизе Safari таким образом, что каждая вкладка читает свой собственный экземпляр хранилища, а не делит общий с другими вкладкми origin'а. И хотя при записи в localStorage вкладки получают событие change, они не могут получить новое значение, так как читают из своего собственного экземпляра хранилища.
Эта механика используется как для синхронизации между вкладками, так использовалась и для коммуникации между вкладаками, пока не появился BroadcastChannel. Сегодня BroadcastChannel важен для PWA, так как используется для коммуникации между Service Worker'ом и закладками. Интерфейс появился в Chromium и Firefox 5 лет назад, в Edge с переходом на Chromium. В Safari же тикет на имплементацию висит без движения уже почти 5 лет. Поэтому для Safari используют полифилы, использующие синхронизацию через localStorage, которая сейчас сломана.
Баг связан с самим Safari, а не его движком (WebKit) и затрагивает только macOS – Safari на iOS не затронут. Инженеры Apple уже пофиксили проблему, но когда выкатится патч не известно, так как они не могут это комментировать, хотя понимают, что это существенная регрессия... Вероятно патч выйдет со следующим релизом macOS.
Пока обходное решение использовать IndexedDB в связке с Service Worker'ом.