Вебня
4.66K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
В очередной раз побывал в подкасте @webstandards_ru вместе с Дмитрием Махневым, где пообщались про всякие новости, а также про ближайший HolyJS Moscow, на который приедут люди из комитета! 😮

https://www.youtube.com/watch?v=wI0UDPZ3mCo
The story of a V8 performance cliff in React – статья о том как v8 выбирает представление в памяти для различных значений и на что это может влиять, в частности, статья может помочь разобраться в недавней истории просадки производительности в React core
И еще одна статья из блога V8 о #TC39 предложении Optional chaining, перешедшем по результатам июльской встречи на stage 3.
Свежайшая статья в блоге 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 — это интерфейс для удаленного управления различными юзер агентами.