Вебня – Telegram
Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Сегодня произойдет несколько интересных событий:
- релиз Chrome 72
- релиз Firefox 65
- начнется встреча комитета TC39, которая пройдет с 29 по 31 января, и после которой произойдет feature freeze спецификации ES2019

Обо всех этих событиях я еще расскажу подробнее.
Релиз Chrome 72 в большей степени интересен добавлением (stage 3) синтаксиса для публичных полей класса (инстанса и статических), которые уже давно используются многими пользователями Babel и TypeScript.
Еще одно интересное нововведение — User Activation API, который позволит предотвратить назойливое поведение веб страниц (автозапуск звука или видео, window.open(), requestFullScreen() и т.д.).
Других фичи релиза:
- Intl.ListFormat
- различные улучшения ServiceWorker
- улучшения WebRTC
- stage 3 пропозал Well-formed JSON.stringify

Полный список изменений можно посмотреть здесь.
Кстати, менее 5 минут назад обновился патч с поддержкой class fields в JavaScriptCore (JS движке в составе Webkit)
https://bugs.webkit.org/show_bug.cgi?id=174212#c69
В Firefox 65 добавятся:
- поддержка stage 3 предложения globalThis
- поддержка env() в CSS
- поддержка формата изображений WebP
О, оправдания подвезли.
Почему разработчики Flow игнорировали опенсорс-сообщество и чем они занимались весь прошлый год: официальное объяснение и позиция касательно перехода части проектов Facebook на TypeScript → https://medium.com/p/54239c62004f
Планы развития поддержки #WebAssembly в Rust на 2019

https://github.com/fitzgen/rfcs-1/blob/2019-roadmap/text/000-2019-roadmap.md
Firefox 65 вышел.

Релизные записи: https://www.mozilla.org/en-US/firefox/65.0/releasenotes/
Обзор новых фич: https://www.mozilla.org/en-US/firefox/65.0/whatsnew/
Первые новости с 68й встречи #TC39, которая проходит прямо сейчас в офисе GoDaddy:
- принято нормативное изменение Treat IterationStatements uniformly in Annex B.3.5
- принято нормативное изменение Add "name" property for classes as part of ClassDefinitionEvaluation (слайды)
- принято нормативное изменение %TypedArray%.prototype.sort stability
Тем временем динамические импорты включили по умолчанию в ночных сборках Firefox

https://bugzilla.mozilla.org/show_bug.cgi?id=1522491
Два оставшихся stage 3 пропозала из стремящихся на stage4, String.prototype.{trimStart,trimEnd} и Array.prototype.{flat,flatMap} тоже отправляются в #ES2019.

Всё, #ES2019 сформирован. Все остальные предложения смогут попасть уже в #ES2020 и не раньше марта.

На изображении полный список новых фич, которые добавятся в релизе ES2019 в июле.
Тем временем за сегодня были представлены следующие доклады:
- внесение изменений в модель памяти для поддержки кодогенерации LDA / STL на процессорах ARMv8 (слайды)
- нормативное изменение Dynamic Modules layering, необходимое для пропозала Dynamic Modules в Node.js (и, потенциально, других окружениях)
- взаимодействие #TC39 и коммьюнити (слайды)
- обновления по приватным полям и методам (слайды)
- обновления по декораторам (слайды), которые кажется пока не попадают на stage 3
Также был показан доклад о предложениях Extended Numeric Literals (stage 1) и Numeric Separators (stage 2). Последний был возвращен со stage 3 на stage 2 на мартовской встрече #TC39 из-за конфликта синтаксиса (оба пропозала использовали нижнее подчеркивание). В докладе было предложено заменить _ на ~ для Extended Numeric Literals, чтопозволит также вернуть Numeric Separators на stage 3.

Слайды доклада: https://docs.google.com/presentation/d/1S6fX1smQplysYwGCZHQ5kBPLmtahVEOdNF0GHjZee7k/edit#slide=id.p