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

Все результаты одним сообщением я публиковал ранее вот тут.
Если Вы любите React и новости из будущего, то можете ознакомиться с блогпостом об изменениях в React 16.13.0, который судя по дате статьи должен выйти 2 марта, а вышел уже.
Автор Babel выложил в open source свой проект Rome, над которым он работал последний год. Rome — это всё-в-одном тулчейн для JavaScript, который включает компилятор, линтер, форматтер, бандлер, фреймворк для тестирования. Все компоненты написаны с нуля на TypeScript и не используют внешних зависимостей. Номер выложенной версии 0.0.2.
W3C Accessibility Guidelines Working Group выпустила Web Content Accessibility Guidelines (WCAG) 2.2 в статусе First Public Working Draft. Новая версия черновика включает новые требования по доступности, называемые “success criteria”.
Статья из блога WebKit о поддержке цветовой палитры P3, которая шире распространённой в текущей момент sRGB примерно на 35%.
У меня тут накопилось несколько новостей про #WebAssembly, которые я забыл или не успел опубликовать.

Adobe рассказали о том, как они портировали Acrobat в Web с помощью WebAssembly. Главной метрикой для инженеров была timeTillFirstRender. Инженеры Adobe смогли добиться, чтобы время рендера не превышало 900 миллисекунд за счет подгрузки изначально меньшего wasm-модуля, динамического связывания и динамической подгрузки шрифтов.

https://medium.com/adobetech/acrobat-on-the-web-powered-by-webassembly-782385e4947e


В Mozilla начали использовать проект RLBox, который позволяет запускать сторонние библиотеки в WebAssembly-песочнице. Разработчики Firefox решили использовать AOT-компилятор и рантайм Lucet, который разработан компанией Fastly для эдж-вычислений и высокого уровня безопасности. Lucet под капотом использует разработанный в Mozilla кодогенератор Cranelift. Оба проекта разрабатываются под эгидой Bytecode Alliance.

https://hacks.mozilla.org/2020/02/securing-firefox-with-webassembly/


А на сегодняшней встрече Wasm CG планируется обсудить новый потенциальный пропозал — 64-битную адресацию, которая может надолго отодвинуть необходимость имплементации wasm64.
В феврале вышел JerryScript 2.2 — очередная версия легковесного JS-движка для устройств с ограниченными ресурсами. Он может запускаться на устройствах с менее чем 64 KB оперативной памяти и 200 KB твердотельной памяти. В новой версии поддержка ES2015 улучшена с 34 до 81% согласно таблице совместимости от Kangax. Среди добавленных фич:
- Спред синтаксис для итерируемых объектов
- Деструктуризация массивов и объектов
- Блочная область видимости
- Генераторы
- Well-known symbols
Также значительно улучшены скорость регулярных выражений и методов строк, сборка мусора, поиск по прототипу, оптимизирована работа с массивами.

https://github.com/jerrynoscript-project/jerrynoscript/releases/tag/v2.2.0
Опубликован план на TypeScript 3.9 и даты выпусков Beta (24 марта), RC (28 апреля) и финальной (12 мая) версий.
Основные направления развития:
- повышение стабильности работы
- улучшения производительности
- инфраструктура
- улучшения компилятора
- улучшения Language Service и интеграции с редакторами
Очередная статья от Axel Rauschmayer — Class definitions in TypeScript.
Рабочая группа CSS W3C выпустила целых 4 документа в статусе First Public Working Draft:
- CSS Color Module Level 5 — добавляет функции модификации цвета
- Media Queries Level 5 — добавляет новые медиа запросы, в том числе @custom-media, которые являются алаисами для более длинных запросов
- CSS Transforms Module Level 2 — добавляет новые функции и свойства для трёхмерных преобразований
- CSS Conditional Rules Module Level 4
В предверии выпуска Chrome 81 (выйдет 17 марта) опубликован список деприкейшнов и убранных в этой версии фич (в целом ничего интересного).

https://developers.google.com/web/updates/2020/02/chrome-81-deps-rems
Снова накопилось новостей на дайджест.

Вышел Safari Technology Preview 102.

Дебаггер в Firefox улучшили подняв производительность, добавив более продвинутую поддержку сорсмапов, увеличив недёжность шагов, улучшив вывод кода и добавив новые типы точек останова.

Zack Bloom опубликовал длиннющую статью об истории URL в блоге Cloudflare. Всё очень подробно и хорошо описано.

В блоге web.dev от Google опубликованы 2 статьи:
- How Google improved ads performance with stale-while-revalidate
- Scroll snapping after layout changes
Консорциум Unicode выпустил Unicode 13.0.0. В нём
- 5930 новых символов (из них 55 символа emoji, символы лицензий Creative Commons)
- улучшена поддержка некоторых редко используемых языков и написаний

https://blog.emojipedia.org/whats-new-in-unicode-13-0/
Разработчики Flow опубликовали свои планы на 2020. Среди них:
- улучшение возможностей и отзывчивости в VSCode
- собираются сделать систему типов более простой, выразительной и корректной
- улучшения производительности
Вышел Firefox 74.

Из главного:
- появилась поддержка ES2020 фичи optional chaining
- улучшения подчеркиваний и обводов в CSS
- убраны нестандартные Object.toSource() и uneval()
- теперь можно отследить смену пользователем языка через languagechange_event
- улучшена поддержка текста в Canvas и WebGL
- улучшения безопасности
- убрана поддержка небезопасных TLS 1.0/1.1
- поддержка эмуляции устройств в Responsive Design Mode
- различные новые инструменты для CSS в DevTools
- улучшения поддержки веб воркеров в дебаггере
- в результате совместной работы с командой React, улучшена интеграция React DevTools
- эксперементальные фичи в DevTools

Изменения для разработчиков
Изменения для пользователей
Изменения совместимости