Вебня
4.66K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Свежайшая статья в блоге Mozilla Hacks о новом бейслайн интерпретаторе JavaScript в Firefox 70 (релиз планируется 22 октября, в один день с Chrome 78 и Node 13), который позволил сократить общее время загрузки страницы на 2-8%, исполнение кода в devtools на 2-10% и получить небольшой выигрыш по памяти. Следующий шаг — вынос бейслайн JIT компилятора из основного потока.

https://hacks.mozilla.org/2019/08/the-baseline-interpreter-a-faster-js-interpreter-in-firefox-70/
npm собирается начать блокировать рекламу в CLI. Это случилось после того, как создатель стайлгада Standard Feross Aboukhadijeh столкнулся с резкой критикой его новой библиотеки Funding, которая позволяла добавить рекламу в терминале и добавляла ее в том числе как раз при использовании пакета Standard. Конфликт пользователей npm привел даже к созданию блокировщиков рекламы для npm CLI. Ferros также написал статью о том, что эксперимент закончен и Funding больше не будет развиваться. Ранее некоторые другие пакеты (core-js, JSS, Nodemon, Styled Components, Level) также встретили критику из-за использования утилиты OpenCollective, которая добавлет сообщение с предложением проспонсировать разработку через одноименный сервис.
Сегодня должен выйти Firefox 69. Публичных анонсов еще не было, но вот что я знаю о нововведениях в нём:
- публичные поля экземпляров классов в JavaScript (статические поля и приватные поля все еще в разработке)
- свойство CSS contain, которое позволяет изолировать элемент и его содержомое от остального дерева CSS
- ResizeObserver
- события unhandledrejection и rejectionhandled
- метод queueMicrotask
- возможность сделать плагин Flash всегда активным будет убрана
Вот и официальные релизные документы Firefox 69 от Mozilla:
- статья о релизе Firefox 69 в блоге Mozilla Hacks
- release notes

Из интересного, что я не указал ранее:
- оптимизирующий JIT компилятор теперь работает на ARM64
- поддержка CSS свойств overflow-block и overflow-inline
- правило supports для селекторов
- точки останова для событий и асинхронных функций в developer tools
Вышел Safari Technology Preview 91. Главное:
- легаси TLS 1.0 и 1.1 были убраны
- публичное API для unhandledrejection
- поддержка Hashbang Grammar (stage 3)
- Optional Chaining (stage 3) под флагом
Начиная с Firefox 70, обработчики событий ontouchstart и ontouchmove будут пассивными по умолчанию.
https://www.fxsitecompat.dev/en-CA/docs/2019/ontouchstart-ontouchmove-event-handlers-are-now-passive-by-default/
Рабочая группа W3C Accessible Platform Architectures опубликовала 3 спецификации в статусе First Public Working Draft:
- Pronunciation User Scenarios
- Pronunciation Use Cases
- Pronunciation Gap Analysis
Эти спецификации описывают лучшие практики произношения для синтеза текста в речь (TTS).
Вчера вышел Chrome 77. В нём не очень много интересных изменений. Из интересного я бы отметил добавление Intl.NumberFormat Unified API (stage 3), различные улучшения Performance API, Form Participation API (спасибо @xanf_ua за ссылку). Подробный список изменений можно почитать, например, тут.
Стал известен roadmap TypeScript 3.7. Стабильная версия выйдет 5 ноября, а бету можно будет опробовать уже 1 октября. Эта версия примечательна тем, что помимо улучшений тайп чекера и компилятора будет включать поддержку новых stage 3 пропозалов Optional Chaining, Nullish Coalescing, Private Class Properties, Top-level Await.
Browser Testing and Tools Working Group опубликовала First Public Working Draft спецификации WebDriver Level 2. WebDriver — это интерфейс для удаленного управления различными юзер агентами.
Новое предложение в ECMAScript от делегата из Apple — Declarations in Conditionals (stage 0). Оно будет представлено на ближайшей встрече #TC39, которая пройдет 1-3 октября в Нью-Йоркском офисе Bloomberg.
На этой встрече в очередной раз буду переживать за свой вклад. Помимо Promise.any, для которого Матиас Байненс будет добиваться stage 3, будет представлено нормативное изменение Redefine CatchParameter as FormalParameter, которое будет представлять за меня действующий редактор спецификации ECMAScript Джордан Харбенд. Вообще идея создания этого нормативного изменения возникла после того, как мне написал Александр Канунников, который обнаружил эту неконсистентность. Так что все шаут ауты идут ему.
Новая статья в блоге V8 — A Lighter V8. В ней рассказывается о Lite режиме V8 (режиме с уменьшенным потреблением памяти) и о том, как оптимизации, разработанные для этого режима, помогли в оптимизации работы стандартной конфигурации движка.