Вебня
4.66K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Вышла версия 11.2 Beta браузера Samsung Internet для Android. Из нового:
- кастомизация UI
- новая фича приватности Block unwanted webpages
- улучшенный анти-трекинг
- опция для блокировки открытия приложений по ссылке
🥁Все главные результаты 75й встречи #TC39 в одном посте.

🚀 предложение import.iss.oneta перешло на stage 4 (слайды)
предложение Logical Assignment Operators переходит на stage 3 (слайды)
🐣 новое предложение Number.range & BigInt.range отправляется на stage 1 (слайды)
🐣 новое предложение Ergonomic brand checks for Private Fields отправляется на stage 1
🐣 новое предложение Compartments переходит на stage 1
🐣 новое ECMA402 предложение Intl.NumberFormat V3 переходит на stage 1 (слайды)

Не продвинулись на следующий stage:
- TypedArray stride parameter не переходит на stage 2 (слайды)
- this argument reflection of functions не переходит на stage 1 (слайды)
- Relax Hashbang Syntax не переходит на stage 1 (слайды)

Обновления предложений:
- Temporal (stage 2) (слайды)
- Decorators (stage 2) (слайды)
- Decimal (stage 1) (слайды)
- у Pattern Matching (stage 1) новые чемпионы
- для добавления новых типов Record и Tuple (stage 1) понадобились два новых пропозала RefCollection и Deep Path Properties in Record Literals, которые теперь stage 0 (слайды)

Принятые нормативные изменения в спецификацию:
- Surrogate pairs in RegExp capture groups
- SharedArrayBuffer станет опциональным для хостов, что делает многопоточной необязательным требованием к имплементациям
- опшнл чейнинг теперь можно будет использовать с приватными идентификаторами. При это было решено, что попытка o?.#field все еще должна приводить к выбросу исключения
- WeakRefs FinalizationRegistry API
- исправления Atomics.waitAsync
- Generically forbid extensions of all 402 methods
- Aligning atomics with wasm: allow it on non-shared ArrayBuffers

Другие презентации:
- отчёт секретариата TC39. Из интересной статистики: на стандарты TC39 (и в первую очередь спецификацию JavaScript, ECMA-262) приходится половина скачиваний всех стандартов Ecma; очень много посещений страниц у устаревших версий спецификиции — ES6/ES2015 и ES5.1
- отчёт редакторов ECMA-262. Была создана ветка для версии стандарта ES2020, опубликован релиз кандидат. Мастер ветка теперь 2021.
- отчёт редакторов ECMA-402. Была создана ветка для версии стандарта 2020 года и опубликован релиз кандидат. Мастер ветка теперь 2021.
- презентация от Google об изменении графиков релизов Chrome
- всем пропозалам, которые хотят получить stage 1, теперь обязательно нужно иметь публичный репозиторий
- Gus Caplan из OpenJS Foundation представил свой проект engine262, который представляет собой реализацию движка JavaScript на языке JavaScript и используется, например, мейнтейнерами Test262 suite
- (Remote) Plenary 2020 - 2021
- на прошлой встрече в процессы комитета были внесены некоторые изменения. По этим изменениям была представлена презентация.
Новый пропозал https://github.com/bmeck/proposal-from-import предлагает добавить синтаксис from "foo" import {bar}; для импорта модулей. Это поможет редакторам кода легко имплементировать подсказки автодополнения.
Вышел Firefox 75.

Из интересного:
- поддержка атрибута loading для тега <img>
- поддержка функций min(), max() и clamp() в CSS
- улучшения accessibility
- поддержа Public static class fields (stage 3)
- поддержка Intl.Locale (ECMA-402 выпуска 2020)
- улучшения Web Animations API

Списки изменений:
- для разработчиков
- для пользователей
- совместимости
Состоялся отложенный ранее выпуск Chrome 81. В нём появились:
- поддержка NFC (в рамках origin trial)
- Hit Test API для обнаружения позиций пересечения объектов WebXR и реального мира
- Badging API
- V8 получил поддержку Intl.DiaplayNames (stage 3).

Более подробно нововведения и изменения рассмотрены в статье на блоге Chromium.

Ещё статьи:
- What's new in Chrome DevTools (81)
- Chrome 81 deprecations & removals
- ChromeStatus.com updates for Chrome 81
- What's new in JavaScript in Chrome 81

Короткое обзорное видео: https://www.youtube.com/watch?v=ihjL0mcnlQs
В Mozilla отложили некоторые изменения совместимости Firefox 76 (выйдет 5 мая) для того, чтобы убедиться, что важные на время пандемии COVID-19 сайты всё ещё доступны. Напомню, что ранее некоторые изменения, отражающиеся на работе сайтов откатили в Chromium.
Также Mozilla заявила о своём присоединении к инициативе Open COVID Pledge, в рамках которой компании, университеты и различные организации делают свою интелектуальную собственность бесплатной до окончания пандемии. Для этого была разработана специальная лицензия Open COVID License 1.0.
Вышел Safari Technology Preview 104. В нём:
- много улучшений Web Inspector
- экспериментальная поддержка HTTP3
- исправления <datalist>
- поддержка :is() (бывший :matches())
- улучшения WebRTC
и ещё много исправлений
Mitchell Baker стала CEO Mozilla Corporation и Mozilla Foundation.

Почитать об этом можно тут и тут. О предыдущей работе Митчелл в Netscape и Mozilla можно почитать в Википедии.
В блоге WebKit опубликована статья о Web Animations API, в которой рассказывается об истории его становления, возможностях, интеграции с CSS и новых возможностях Web Inspector, помогающих в работе с анимациями в вебе.
Релиз Unicode 14.0 будет отложен на полгода из-за пандемии COVID-19. Проекты ICU и CLDR при этом выйдут в срок. Релиз Emoji 14.0 также будет перенесён на полгода 🙀
Jake Archibald опубликовал короткую статью о том, почему resolve — это не противополжность reject в промисах. Мне кажется, что более понятно об этом написал Domenic Denicola ещё в 2014м.
На web.dev рассказали как они создавали сайт с помощью Eleventy, ECMAScript модулей, Nunjucks и веб компонентов на LitElement.

https://web.dev/how-we-build-webdev-and-use-web-components/
W3C спецификации Web of Things (WoT) Architecture и Web of Things (WoT) Thing Description получили статус W3C Recommendation.

https://www.w3.org/2020/04/pressrelease-wot-rec.html.en
#WebAssembly пропозалы nontrapping-float-to-int, sign-extension-opsmulti-value были переведены на phase 5 (добавлены в спецификацию).
Кстати, зарелиженный на этой неделе Firefox 75 теперь следит за Вами если Вы пользуетесь браузером на операционной системе Windows. Хороших выходных и постарайтесь не растерять веру в человечество.
Axel Rauschmayer опубликовал очередную статью по TypeScript. В этот раз про типизацию функций.

https://2ality.com/2020/04/typing-functions-typescript.html