Вебня – Telegram
Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
10 декабря состоялась 118я встреча Генеральной Ассамблеи Ecma International. Теперь членами этой организации также являются Alibaba, Dell Technologies, Huawei Technologies, Sony Interactive Entertainment, MetaMask, Sujitech. Как видим, большой интерес к участию в работе над стандартами Ecma проявляют китайские компании, и в первую очередь это, конечно, работа в составе технического комитета 39. Также на этой встрече co-chair #TC39 от компании Mozilla Юлия Старцев получила награду Ecma recognition award.
Вышел Safari Technology Preview 98. В нём:
- улучшения и исправления Web Inspector
- Web Animations CSS integration включена по умолчанию
- Generic Text Track Cue API
- OffscreenCanvas.convertToBlob
- различные улучшения и исправления некоторых Web API, CSS, Web RTC,
- TLS 1.0 и 1.1 выключены по умолчанию
- валидация и генерация WebAssembly байткода за один проход

https://webkit.org/blog/9689/release-notes-for-safari-technology-preview-98/
Также TLS 1.0 и 1.1 будут отключены по умолчанию для всех версий, начиная с Firefox 74 (до этого они были отключены только в Firefox Nightly, начиная с версии 71).

https://www.fxsitecompat.dev/en-CA/docs/2020/tls-1-0-1-1-support-has-been-removed/
С конца июля TypeScript опережает Babel по количеству скачиваний в npm и эта разница стремительно растёт

https://www.npmtrends.com/typenoscript-vs-babel-core
Как справедливо заметил @pterolex, на графике в предыдущем сообщении учитывается Babel 6. Совсем забыл, что мы давно перешли под неймспейс 😅🤦‍♂️.

Правильный график вот тут и Babel всё ещё лидирует.
@maxgraey предлагает вычесть из скачиваний @babel/core скачивания @babel/preset-typenoscript, и в этом случае TS и Babel практически сравниваются. На этом про TS vs Babel на сегодня всё :)

https://www.npmtrends.com/typenoscript-vs-@babel/core-vs-@babel/preset-typenoscript
Создана новая Unicode Working Group — Message Formatting. Рабочая группа представлена сотрудниками Amazon, Dropbox, Facebook, Google, IBM, Mozilla, OpenJSF и Paypal и будет заниматься разработкой нового стандарта для форматирования текста. Текущая версия ICU Message Format сложна для различных форм слова (таких как род, число и др), поэтому было решено создать новую с учётом всех проблем ICU.

https://github.com/unicode-org/message-format-wg
Статья о том, как команда Chrome сотрудничает с опенсорс фреймворками, библиотеками и инструментами.

https://web.dev/advancing-framework-ecosystem-cds-2019/
Во всех последних версиях версиях Firefox и Thunderbird найдена критическая уязвимость, позволяющая получить контроль над системой атакуемого. Уязвимость была обнаружена в оптимизирующем JIT компиляторе JavaScript IonMonkey и уже широко использовалась.
WICG предлагает добавить Compression Streams API для использования gzip и deflate (в будущем планируются и другие алгоритмы, например brotli) для прикладных задач в веб платформе. Уже сейчас можно попробовать новое API в Chrome Canary в демо, которое так же демонстрирует использование Native File System API
Вышел TypeScript 3.8 Beta. Очень класссный релиз, в котором:
- Type-Only Imports and Export
- приватные поля классов (stage 3)
- export * as ns
- top-level await (stage 3)
- поддержка @public, @private и @protected в JSDoc
- продвинутая поддержка file-watching
- дополнительная настройка для быстрого тайпчекинга
Вышел Babel 7.8.0. Тоже классный релиз, в котором:
- поддержка ES2020 фич по умолчанию (nullish coalescing и optional chaining)
- поддержка разных форматов файлов конфигурации
- новые параметры CLI для конфигурации вывода

Также в статье новости о будущем релизе Babel 8, о котором можно почитать подробнее вот тут.
Оказывается команда SpiderMonkey (JavaScript движок, используемый в Firefox) недавно завела блог, в котором публикует новости об изменениях в движке. В последней новостной рассылке есть много всего интересного:
- обновление Intl.DateTimeFormat.prototype.formatToParts до актуальной версии, соответствующей последним изменениям в спецификаци
- Project Visage — новый фронтенд (парсер и эмиттер байткода) для JavaScript, написанный на языке Rust
- улучшения парсера
- Project Stencil — новый формат данных, генерируемых парсером
- движок для регулярных выражений будет заменён на тот, что используется в V8
- упрощение байткода
- устаревшие toSource и uneval убраны из движка
- улучшения дебаггера
- улучшения производительности Array.prototype.reverse и BigInt
- в Nightly появился флаг, включающий поддержку JS BigInt <-> wasm I64 conversion
- продолжается работа над уже добавленными #WebAssembly пропозалами Reference types и bulk memory
- много улучшений Cranelift — кодогенератора, который в будущем будет использоваться для оптимизирующего компилятора WebAssembly
- ведётся работа на WebAssembly пропозалом multi-value
- ведётся работа над включением SharedArrayBuffer по умолчанию
- начата работа по добавлению WebAssembly пропозала exception handling
Завтра, 14 января, завершается период расширенной поддержки Windows 7. После этого техническая поддержка и обновления перестанут предоставляться. Windows 7 до сих пор является второй по популярности операционной системой из семейства Windows (по StatCounter) с 25% пользователей. Internet Explorer 11 всё ещё будет поддерживаться на Windows 8.1 до 10 января 2023 (примерно 5% пользователей ОС семейства Windows) и Windows 10 (на которой браузером по умолчанию является Edge).

А уже 15 января состоится релиз новой версии браузера Edge на основе Chromium.
Если Вам очень надо по какой-либо причине заблокировать автоматическое обновление старой версии Edge (которая, к слову, получила официальное название — Edge Legacy) до новой (основанной на Chromium), то есть официальная инструкция от Microsoft. Если Вам нужно тестировать свои веб приложения на обеих версиях Edge, то есть инструкция и для этого.
Разработчики Chromium собираются заморозить и унифицировать строку User Agent. Safari уже сделали это в Safari Technolgy Preview 46, Firefox и Edge собираются в сделать то же самое. Взамен предлагается использовать спецификацию User-Agent Client Hints, которая в данный момент развивается от лица компании Google в икубаторе W3C WICG.