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

С некоторым опозданием публикую результаты за прошлый четверг, — последний день первого пленарного заседания #TC39 в этом году.

Итоги первого дня тут, второго тут, а третьего — вот тут.

Пропозалы
Adopting Unicode behavior for set notation in regular expressions (слайды) — взят stage 1.
RegExp.escape — взят stage 1.
index from end syntax (слайды) — stage 1 не взят, т.к. не все удовлетворены как синтаксисом, так и спорной аналогией с аналогичным оператором в C# (он тут вышел другим). Также чемпиону было рекомендовано пообщаться с имплементарами из V8, у которых были опыты с чем-то подобным.
Array find from last (слайды) — взят stage 1. У комитета есть сомнения по поводу веб-совместимости имён, но в целом пропозал был поддержан многими.
defer module import eval (слайды) — переходит на stage 1. У пропозала есть определённые проблемы с сайд-эффектами внутри "ленивых" модулей (порядок выполнения), но в целом предложение признано интересным и стоящим дальнейших исследований. Очень хотелось бы видеть его в стандарте!
Intl LocaleMatcher — как и в случае со многими ECMA402 пропозалами, stage 1 взять без каких-либо проблем.

Другие темы
Inclusion working group updates — предложение перейти на Matrix с IRC как основного инструмента для общения TC39.
Incubation Chartering — небольшой апдейт по отдельным созвонам для некоторых пропозалов заинтересованными лицами, в целом ничего важного.
Protocols in JavaScript — доклад о кейсах, когда надо использовать протоколы в JavaScript. Предложения докладчика были основаны на опыте пропозала Temporal. Чтобы оформить это в конкретный пропозал, предложено подумать над вариантами и продолжить обсуждения внутри комитета.
Вебня pinned «Итоги четвёртого дня 80й встречи #TC39 С некоторым опозданием публикую результаты за прошлый четверг, — последний день первого пленарного заседания #TC39 в этом году. Итоги первого дня тут, второго тут, а третьего — вот тут. Пропозалы Adopting Unicode behavior…»
Бета версии macOS 11.3 и iOS 14.5 поставляются с Safari 14.1

Из нового по сравнению с версией 14:
JavaScript
- поддержка WeakRefs (ES2021)
- поддержка приватных полей классов (stage 3)
- поддержка публичных и приватных статических полей классов (stage 3)
- Intl.NumberFormat Unified API (ECMA402 2020)
- Intl.DateTimeFormat.formatRangeToParts (ECMA402 2021)
- Intl.ListFormat (ECMA402 2021)
- Intl.DisplayNames (ECMA402 2021)
- DateTimeFormat dateStyle & timeStyle (ECMA402 2021)
WebAssembly
- JS BigInt to Wasm i64 integration
- Sign-extension operations (еее мой код уже в Safari 😭)
CSS
- свойство gap в Flexbox
- поддержка aspect-ratio
Web API
- Web Audio API
- атрибут SameSite для кукис
- WebGL 2.0
- MediaRecorder API
- много улучшений WebRTC

Этот список изменений составлен лично мной и, скорее всего, далеко не полный. Напишите в комментарии, если вы заметили ещё какие-нибудь фичи.
Вебня pinned «Бета версии macOS 11.3 и iOS 14.5 поставляются с Safari 14.1 Из нового по сравнению с версией 14: JavaScript - поддержка WeakRefs (ES2021) - поддержка приватных полей классов (stage 3) - поддержка публичных и приватных статических полей классов (stage 3)…»
Команда AngularJS о прекращении поддержки

Поддержка AngularJS будет прекращена 31 декабря 2021 года. Мейнтейнеры предлагают варианты тем, кто всё еще использует этот фреймворк: миграция на Angular, либо остаться на AngularJS и воспользоваться расширенной поддержкой — независимая команда разработчиков будет поддерживать форк AngularJS и предоставлять заплатки безопасности, а также другие необходимые изменения.

https://blog.angular.io/finding-a-path-forward-with-angularjs-7e186fdd4429
Private Click Measurement — предложение Apple по стандартизации отслеживания рекламных переходов

Apple собирается влючить Private Click Measurement по умолчанию в Safari, чтобы дать разработчикам попробовать новое API, и предлагает помощь другим браузерам в имплементации, чтобы добиться стандартизации в W3C. Этот подход отслеживания рекламных переходов позволит пользователям сохранить приватность, а владельцам сайтов даст альтернативу использованию кук.

https://webkit.org/blog/11529/introducing-private-click-measurement-pcm/
GitHub о релизе npm 7

Количество зависимостей в нём уменьшено на 54%, покрытие кода тестами увеличено на 17%, а также значительно увеличена производительность. В npm 7 используется новый формат локфайла, а также появилась поддержка yarn.lock. Кроме этого, peerDependencies теперь устанавливаются по умолчанию.

Подробнее в блоге GitHub: https://github.blog/2021-02-02-npm-7-is-now-generally-available/
О публикации рекламы на этом канале (её нет) и прочие условия сотрудничества

Каждый день мне в личку пишут с вопросами об условиях публикации рекламы в Вебне. Я устал каждый раз отвечать одно и то же, поэтому решил сделать этот пост, чтобы в следующий раз просто скопировать ссылку.

Ответ коротко:
Условия очень простые: реклама на канале не публикуется (да, совсем (да, это точно (да, даже релевантная (да, я понимаю, что за деньги)))).

Ответ развёрнуто:
1) Если ну очень хочется порекламировать здесь своё событие (конференцию, митап, выставку кошек) или публикацию (интервью, подкаст), то можете пригласить меня или Романа выступить или провести какую-то другую общественно-полезную активность, и тогда, скорее всего, в виде исключения и для самопиара тут будет опубликовано приглашение обратить внимание на активность с участием авторов канала, что косвенно является рекламой вашего события, издания, подкаста и пр.
2) Также я планирую когда-нибудь все-таки запустить YouTube-канал Вебни, где рекламные интеграции возможны (можете связаться со мной, если Вам интересен этот формат).
3) Иногда я рассказываю здесь о других каналах. Это не значит, что я могу рассказать о любом канале. Рассказываю исключительно о тех, которые мне нравятся, безвозмездно, импульсивно и ВНЕЗАПНО. Это также означает, что, скорее всего, просьбы рассказать о Вашем канале тут будут расценены как давление и проигнорированы, даже если мы старые друзья.

Постскриптум:
Если Вам нравится этот канал, то Вы можете:
- просто написать спасибо в комментариях к этому посту или лично авторам канала (контакты выше и в описании канала) — это всегда приятно! ❤️
- рассказать о канале коллегам и друзьям
- поддержать его на патреоне

Кстати, большая часть денег с патреона идёт на благотворительность и на поддержание опенсорс проектов.

Спасибо, что дочитали досюда!
1
Улучшение аллокации атласа текстур в WebRender

В блоге команды Mozilla Gfx появилась техническая статья о работе над улучшением аллокации текстур, плюсах и минусах разных подходов. Будет интересно тем, кто любит сильно технические подробности о борьбе за память и время исполнения и компромиссах. Результаты исследования уже частично реализованы в Firefox 85, а в Firefox 86 аллокация текстур будет улучшена ещё больше.

https://mozillagfx.wordpress.com/2021/02/04/improving-texture-atlas-allocation-in-webrender/
Вышла бета V8 v8.9

Новое:
- top-level await (stage 3)
- более быстрые вызовы функций с несовпадающим количеством аргументов

Релиз ожидается 2 марта вместе с Chrome 89.
Новый Edge заменит Edge Legacy в апрельском обновлении Windows 10

13 апреля 2021 года выйдет обновление Windows 10, которое удалит старую версию Edge из системы и установит новый Edge в случае, если он ещё не установлен.

https://techcommunity.microsoft.com/t5/microsoft-365-blog/new-microsoft-edge-to-replace-microsoft-edge-legacy-with-april-s/ba-p/2114224
Создана организация Rust Foundation для дальнейшего развития языка Rust

Язык изначально был создан в Mozilla и использовался в том числе для написания компонентов браузера Firefox (и рендер-движка Servo). Текущими членами организации стали Mozilla (анонс), AWS, Google, Huawei и Microsoft.
Обмен данными между CSS и JavaScript через custom properties

Christian Heilmann показывает как просто можно сделать необычные вещи в CSS, передавая туда параметры из JavaScript (например, координаты указателя мыши).

https://christianheilmann.com/2021/02/08/sharing-data-between-css-and-javanoscript-using-custom-properties/
Вышел WebdriverIO v7

Новая версия переписана на TypeScript, получила поддержку Google Lighthouse через DevTools протокол (а также PWA quality support поверх лайтхауса), а также лишилась поддержки Node 10 (хотя конец поддержки у неё случится только 30 апреля 2021).

https://webdriver.io/blog/2021/02/09/webdriverio-v7-released/
⚡️Только что закончилась встреча #WebAssembly WG, на которой пропозалы Bulk Memory operations и Reference types было решено добавить в спецификацию.
Вышел Safari Technology Preview 120

По большей части релиз содержит багфиксы и улучшения для уже существующих фич.

https://webkit.org/blog/11548/release-notes-for-safari-technology-preview-120/
Safari 14.1 beta теперь доступен также для macOS Catalina и Mojave

Чтобы скачать, понадобится аккаунт разработчика на сайте Apple.

https://developer.apple.com/download/more/?=Safari
Спецификация CSS Cascading and Inheritance Level 3 получила статус W3C Recommendation

Эта спецификация находилась в разработке аж с декабря 2005 года!

https://www.w3.org/TR/2021/REC-css-cascade-3-20210211/
Pointer Events Polyfill (PEP) прекращает своё развитие

Pointer Events теперь поддерживаются в большинстве браузеров, и разработчики полифилла решили прекратить его дальнейшее развитие, к тому же ещё с Pointer Events Level 2 было сложно полифиллить нативные возможности платформы.

https://openjsf.org/blog/2021/02/10/pointer-events-polyfill-pep-enters-emeritus-status-at-the-openjs-foundation/
Webref – машиночитаемые выдержки из веб-спецификаций

В организации w3c на GitHub появился репозиторий Webref, который содержит описания CSS свойств и определений, IDL и метаданные из веб-спецификаций. Данные есть как по опубликованным спецификациям, так и по их черновикам (Editor's Drafts); из таких областей как CSS, DOM, SVG, WebGL, CSP и другие Web API. Данные извлекаются из почти 400 спецификаций, краулером Reffy, который тоже доступен на GitHub в организации w3c.
Что примечательно, обоим репозиториям более трех лет, но им удавалось оставаться в тени (меньше 50 звезд на GitHub на оба репозитория). Судя по всему, эти репозитории перенесли в w3c в районе сентября прошлого года.
Они используются в WebIDLpedia, анализе аномалий в спецификациях и в тестах веб-платформы. Вероятно этим данным скоро найдется новое применение.