Вебня – Telegram
Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
⚡️ Пропозал Array find from last взял stage 1
⚡️ Пропозал defer module import eval взял stage 1
⚡️ Пропозал Intl LocaleMatcher взял stage 1
Вышел AssemblyScript 0.18

Интересный релиз с обновлённым рантаймом и новым сборщик мусора.

AssemblyScript — это TypeScript-подобный язык, который компилируется в #WebAssembly.
Вышел Chrome Beta 89

Стабильный релиз запланирован на 2 марта.
Список изменений: https://blog.chromium.org/2021/01/chrome-89-beta-advanced-hardware.html

Из главного:
- WebHID API включен по умолчанию
- Web NFC на Android
- Web Serial API на десктопах
- Web Share API теперь работает и на десктопах
- AVIF изображения теперь работают также на Android и WebView
- CSS: псевдоэлемент ::target-text, новые возможности закругления углов, свойства forced-colors и forced-colors-adjust
- Top-level await (stage 3)
Сегодня исполняется 2 года дружественному каналу Defront! 🎂
Лучшие практики при создании карусели

Статья о том, как сделать производительную карусель, используя современные возможности (CSS Scroll Snap) и без JavaScript.
Поддержка :focus-visible в WebKit

Инженеры Igalia продолжают делиться рассказами о проделанной ими работе. Manuel Rego Casasnovas написал статью о том, что требуется для поддержки :focus-visible в WebKit. Это фича, которая ранее прошла отбор Open Prioritization. В статье разбирается сама фича, какие проблемы потребуется решить для её реализации в WebKit, а также проблемы совместимости в Chrome и Firefox.
Новое свойство aspect-ratio и его эмуляция в браузерах, которые его не поддерживают

Una Kravets написала небольшую статью о новом свойстве aspect-ratio, которое позволяет сохранить пропорции в адаптивных раскладках. Оно поддерживается в недавно вышедшем Chrome 88, в Firefox 87 Nightly и Safari Technology Preview 118.
Опубликован роадмап Microsoft Edge

В нём указаны планируемые даты появления разных фич в браузере.

https://www.microsoftedgeinsider.com/en-us/whats-next
Финальный список новых фич ES2021:
- String.prototype.replaceAll
- Promise.any
- WeakRefs
- Logical Assignment Operators
- Numeric separators
В esbuild появилась поддержка watch режима

esbuild — это очень быстрый бандлер для JS/TS проектов. В версии 0.8.38 теперь есть поддержка режима watch. В данный момент она основана на поллинге для портативности, но возможно в будущем будет использовать особенности платформ. Данная фича долгое время была самой популярной по запросам от коммьюнити.
Итоги четвёртого дня 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/