Свежайшая статья в блоге 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/
https://hacks.mozilla.org/2019/08/the-baseline-interpreter-a-faster-js-interpreter-in-firefox-70/
Mozilla Hacks – the Web developer blog
The Baseline Interpreter: a faster JS interpreter in Firefox 70
Modern web applications load and execute a lot more JavaScript code than they did just a few years ago. While JIT (just-in-time) compilers have been very successful in making JavaScript ...
npm собирается начать блокировать рекламу в CLI. Это случилось после того, как создатель стайлгада Standard Feross Aboukhadijeh столкнулся с резкой критикой его новой библиотеки Funding, которая позволяла добавить рекламу в терминале и добавляла ее в том числе как раз при использовании пакета Standard. Конфликт пользователей npm привел даже к созданию блокировщиков рекламы для npm CLI. Ferros также написал статью о том, что эксперимент закончен и Funding больше не будет развиваться. Ранее некоторые другие пакеты (core-js, JSS, Nodemon, Styled Components, Level) также встретили критику из-за использования утилиты OpenCollective, которая добавлет сообщение с предложением проспонсировать разработку через одноименный сервис.
ZDNet
npm bans terminal ads
JavaScript community's negative reaction to recent experiment kills potential avenue for funding open-source projects.
Вебня
npm собирается начать блокировать рекламу в CLI. Это случилось после того, как создатель стайлгада Standard Feross Aboukhadijeh столкнулся с резкой критикой его новой библиотеки Funding, которая позволяла добавить рекламу в терминале и добавляла ее в том числе…
А npm внезапно анонсировал инициативу по поддержке опенсорса через реестр npm. Она будет запущена в конце года.
https://blog.npmjs.org/post/187382017885/supporting-open-source-maintainers
https://blog.npmjs.org/post/187382017885/supporting-open-source-maintainers
blog.npmjs.org
npm Blog Archive: Supporting Open Source Maintainers
npm Blog (Archive); updates from the npm team are now published on the GitHub Blog and the GitHub Changelog
Визуализация долей использования браузеров с 1996 по 2019 год.
https://www.reddit.com/r/dataisbeautiful/comments/cxuah9/usage_share_of_internet_browsers_1996_2019_oc/
https://www.reddit.com/r/dataisbeautiful/comments/cxuah9/usage_share_of_internet_browsers_1996_2019_oc/
Reddit
r/dataisbeautiful on Reddit: Usage Share of Internet Browsers 1996 - 2019 [OC]
Posted by u/interestingasphuk - 72,687 votes and 3,436 comments
Сегодня должен выйти Firefox 69. Публичных анонсов еще не было, но вот что я знаю о нововведениях в нём:
- публичные поля экземпляров классов в JavaScript (статические поля и приватные поля все еще в разработке)
- свойство CSS contain, которое позволяет изолировать элемент и его содержомое от остального дерева CSS
- ResizeObserver
- события unhandledrejection и rejectionhandled
- метод queueMicrotask
- возможность сделать плагин Flash всегда активным будет убрана
- публичные поля экземпляров классов в 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
- статья о релизе Firefox 69 в блоге Mozilla Hacks
- release notes
Из интересного, что я не указал ранее:
- оптимизирующий JIT компилятор теперь работает на ARM64
- поддержка CSS свойств overflow-block и overflow-inline
- правило supports для селекторов
- точки останова для событий и асинхронных функций в developer tools
Mozilla Hacks – the Web developer blog
Firefox 69 — a tale of Resize Observer, microtasks, CSS, and DevTools
For our latest excellent adventure, we’ve gone and cooked up a new Firefox release. Version 69 features a number of great new additions including JavaScript public instance fields, the Resize ...
На Mozilla Hacks опубликован скринкаст Debugging #WebAssembly with LLDB
https://www.youtube.com/watch?v=PevI_Mn-UUE
https://hacks.mozilla.org/2019/09/debugging-webassembly-outside-of-the-browser/
https://www.youtube.com/watch?v=PevI_Mn-UUE
https://hacks.mozilla.org/2019/09/debugging-webassembly-outside-of-the-browser/
YouTube
Debugging WebAssembly with LLDB
Debugging WebAssembly with LLDB
Read more at https://hacks.mozilla.org/2019/09/debugging-webassembly-outside-of-the-browser
Read more at https://hacks.mozilla.org/2019/09/debugging-webassembly-outside-of-the-browser
Вышел Safari Technology Preview 91. Главное:
- легаси TLS 1.0 и 1.1 были убраны
- публичное API для unhandledrejection
- поддержка Hashbang Grammar (stage 3)
- Optional Chaining (stage 3) под флагом
- легаси TLS 1.0 и 1.1 были убраны
- публичное API для unhandledrejection
- поддержка Hashbang Grammar (stage 3)
- Optional Chaining (stage 3) под флагом
WebKit
Release Notes for Safari Technology Preview 91
Safari Technology Preview Release 91 is now available for download for macOS Mojave and the macOS Catalina beta.
Начиная с Firefox 70, обработчики событий ontouchstart и ontouchmove будут пассивными по умолчанию.
https://www.fxsitecompat.dev/en-CA/docs/2019/ontouchstart-ontouchmove-event-handlers-are-now-passive-by-default/
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).
- Pronunciation User Scenarios
- Pronunciation Use Cases
- Pronunciation Gap Analysis
Эти спецификации описывают лучшие практики произношения для синтеза текста в речь (TTS).
Черновик нового #WebAssembly предложения Debugging Modules.
https://github.com/fitzgen/debugging/blob/debugging-modules-explainer/debugging-modules/README.md
https://github.com/fitzgen/debugging/blob/debugging-modules-explainer/debugging-modules/README.md
GitHub
debugging/debugging-modules/README.md at debugging-modules-explainer · fitzgen/debugging
Design documents and discussions about debug support in WebAssembly - debugging/debugging-modules/README.md at debugging-modules-explainer · fitzgen/debugging
Доклад о пропозале Decorators (stage 2) от автора и чемпиона Дениела Эренберга (а также о #TC39 и немного про другие пропозалы)
https://www.youtube.com/watch?v=GLi37QPSOv4
https://www.youtube.com/watch?v=GLi37QPSOv4
YouTube
Standardizing JavaScript Decorators in TC39 by Daniel Ehrenberg
JavaScript decorators were created in 2014 as a collaboration among the JavaScript ecosystem, and you've been able to use them in TypeScript and Babel. But they didn't make it into the JavaScript standard yet: not ES6, or any of the later versions, so far.…
Вчера вышел Chrome 77. В нём не очень много интересных изменений. Из интересного я бы отметил добавление Intl.NumberFormat Unified API (stage 3), различные улучшения Performance API, Form Participation API (спасибо @xanf_ua за ссылку). Подробный список изменений можно почитать, например, тут.
GitHub
GitHub - tc39/proposal-unified-intl-numberformat: Adds localized formatting of measurement units, compact decimals, and more number…
Adds localized formatting of measurement units, compact decimals, and more number features - tc39/proposal-unified-intl-numberformat
Стал известен roadmap TypeScript 3.7. Стабильная версия выйдет 5 ноября, а бету можно будет опробовать уже 1 октября. Эта версия примечательна тем, что помимо улучшений тайп чекера и компилятора будет включать поддержку новых stage 3 пропозалов Optional Chaining, Nullish Coalescing, Private Class Properties, Top-level Await.
GitHub
TypeScript 3.7 Iteration Plan · Issue #33352 · microsoft/TypeScript
This document outlines our focused tasks for TypeScript 3.7, as well as some of the discussion that explains how/why we prioritized certain work items. Nothing is set in stone, but we will strive t...
Воркеры в ноде больше не экспериментальная фича!
https://github.com/nodejs/node/commit/9a436d19f3cd541f92e3c1c26a0ec020a10960fa
https://github.com/nodejs/node/commit/9a436d19f3cd541f92e3c1c26a0ec020a10960fa
GitHub
worker: mark as stable · nodejs/node@9a436d1
This feature is not expected to receive breaking changes to its API
and is used in real-world applications.
As discussed at the last collaborator summit (Berlin May 2019),
the `worker_threads` mod...
and is used in real-world applications.
As discussed at the last collaborator summit (Berlin May 2019),
the `worker_threads` mod...
Browser Testing and Tools Working Group опубликовала First Public Working Draft спецификации WebDriver Level 2. WebDriver — это интерфейс для удаленного управления различными юзер агентами.
www.w3.org
WebDriver
WebDriver is a remote control interface
that enables introspection and control of user agents.
It provides a platform- and language-neutral wire protocol
as a way for out-of-process programs
to remotely instruct the behavior of web browsers.
that enables introspection and control of user agents.
It provides a platform- and language-neutral wire protocol
as a way for out-of-process programs
to remotely instruct the behavior of web browsers.
Новое предложение в ECMAScript от делегата из Apple — Declarations in Conditionals (stage 0). Оно будет представлено на ближайшей встрече #TC39, которая пройдет 1-3 октября в Нью-Йоркском офисе Bloomberg.
GitHub
GitHub - tc39/proposal-Declarations-in-Conditionals
Contribute to tc39/proposal-Declarations-in-Conditionals development by creating an account on GitHub.
На этой встрече в очередной раз буду переживать за свой вклад. Помимо Promise.any, для которого Матиас Байненс будет добиваться stage 3, будет представлено нормативное изменение Redefine CatchParameter as FormalParameter, которое будет представлять за меня действующий редактор спецификации ECMAScript Джордан Харбенд. Вообще идея создания этого нормативного изменения возникла после того, как мне написал Александр Канунников, который обнаружил эту неконсистентность. Так что все шаут ауты идут ему.
Новая статья в блоге V8 — A Lighter V8. В ней рассказывается о Lite режиме V8 (режиме с уменьшенным потреблением памяти) и о том, как оптимизации, разработанные для этого режима, помогли в оптимизации работы стандартной конфигурации движка.
v8.dev
A lighter V8 · V8
The V8 Lite project dramatically reduced the memory overhead of V8 on typical websites, this is how we did it.
В Safari Technology Preview 91 появилась поддержка WebGPU и шейдерного языка WSL.
https://webkit.org/blog/9528/webgpu-and-wsl-in-safari/
https://webkit.org/blog/9528/webgpu-and-wsl-in-safari/
WebKit
WebGPU and WSL in Safari
WebGPU is a new API being developed by Apple and others in the W3C which enables high-performance 3D graphics and data-parallel computation on the Web.