Pointer Events Polyfill (PEP) прекращает своё развитие
Pointer Events теперь поддерживаются в большинстве браузеров, и разработчики полифилла решили прекратить его дальнейшее развитие, к тому же ещё с Pointer Events Level 2 было сложно полифиллить нативные возможности платформы.
https://openjsf.org/blog/2021/02/10/pointer-events-polyfill-pep-enters-emeritus-status-at-the-openjs-foundation/
Pointer Events теперь поддерживаются в большинстве браузеров, и разработчики полифилла решили прекратить его дальнейшее развитие, к тому же ещё с Pointer Events Level 2 было сложно полифиллить нативные возможности платформы.
https://openjsf.org/blog/2021/02/10/pointer-events-polyfill-pep-enters-emeritus-status-at-the-openjs-foundation/
OpenJS Foundation
Pointer Events Polyfill (PEP) enters emeritus status at the OpenJS Foundation - OpenJS Foundation
Pointer Events Polyfill (PEP) enters emeritus status at the OpenJS Foundation. The project, originally part of the jQuery project family, is fully deprecating after 8 years.
Webref – машиночитаемые выдержки из веб-спецификаций
В организации w3c на GitHub появился репозиторий Webref, который содержит описания CSS свойств и определений, IDL и метаданные из веб-спецификаций. Данные есть как по опубликованным спецификациям, так и по их черновикам (Editor's Drafts); из таких областей как CSS, DOM, SVG, WebGL, CSP и другие Web API. Данные извлекаются из почти 400 спецификаций, краулером Reffy, который тоже доступен на GitHub в организации w3c.
Что примечательно, обоим репозиториям более трех лет, но им удавалось оставаться в тени (меньше 50 звезд на GitHub на оба репозитория). Судя по всему, эти репозитории перенесли в w3c в районе сентября прошлого года.
Они используются в WebIDLpedia, анализе аномалий в спецификациях и в тестах веб-платформы. Вероятно этим данным скоро найдется новое применение.
В организации w3c на GitHub появился репозиторий Webref, который содержит описания CSS свойств и определений, IDL и метаданные из веб-спецификаций. Данные есть как по опубликованным спецификациям, так и по их черновикам (Editor's Drafts); из таких областей как CSS, DOM, SVG, WebGL, CSP и другие Web API. Данные извлекаются из почти 400 спецификаций, краулером Reffy, который тоже доступен на GitHub в организации w3c.
Что примечательно, обоим репозиториям более трех лет, но им удавалось оставаться в тени (меньше 50 звезд на GitHub на оба репозитория). Судя по всему, эти репозитории перенесли в w3c в районе сентября прошлого года.
Они используются в WebIDLpedia, анализе аномалий в спецификациях и в тестах веб-платформы. Вероятно этим данным скоро найдется новое применение.
GitHub
GitHub - w3c/webref: Machine-readable references of terms defined in web browser specifications
Machine-readable references of terms defined in web browser specifications - w3c/webref
Опубликованы текстовые записи с январского пленарного заседания #TC39
https://github.com/tc39/notes/tree/master/meetings/2021-01
https://github.com/tc39/notes/tree/master/meetings/2021-01
GitHub
notes/meetings/2021-01 at main · tc39/notes
TC39 meeting notes. Contribute to tc39/notes development by creating an account on GitHub.
В блоге V8 вышла статья об ускорении вызовов JavaScript функций с несовпадающим количеством аргументов
Ранее для таких вызовов использовался специальный адаптер, который не только сложен в реализации, но весьма дорог по времени вызова. В V8 v8.9 получилось избавиться от адаптера и не потерять в скорости в интерпретаторе Ignition, а в JIT-компиляторе TurboFan получить прирост скорости в 40%.
Ранее для таких вызовов использовался специальный адаптер, который не только сложен в реализации, но весьма дорог по времени вызова. В V8 v8.9 получилось избавиться от адаптера и не потерять в скорости в интерпретаторе Ignition, а в JIT-компиляторе TurboFan получить прирост скорости в 40%.
v8.dev
Faster JavaScript calls · V8
Faster JavaScript calls by removing the arguments adaptor frame
В движке JavaScriptCore реализованы приватные методы и аксессоры
Это последняя оставшаяся фича из текущих stage 3 пропозалов-долгостроев про классы.
https://bugs.webkit.org/show_bug.cgi?id=219181
https://bugs.webkit.org/show_bug.cgi?id=194435
Осталось ждать только включения всех приватных фич классов в SpiderMonkey, там они всё ещё под флагом. Думаю, что скоро все три пропозала про поля и методы классов можно уже ждать на stage 4 и в будущем стандарте ES2022.
Это последняя оставшаяся фича из текущих stage 3 пропозалов-долгостроев про классы.
https://bugs.webkit.org/show_bug.cgi?id=219181
https://bugs.webkit.org/show_bug.cgi?id=194435
Осталось ждать только включения всех приватных фич классов в SpiderMonkey, там они всё ещё под флагом. Думаю, что скоро все три пропозала про поля и методы классов можно уже ждать на stage 4 и в будущем стандарте ES2022.
Подкастер Лекс Фридман выпустил большое интервью с создателем JavaScript Бренданом Айком
Интервью длится почти три часа, и в нём затрагивается очень много интересных тем, таких как история языков программирования, физика (Брендан по образованию физик), история JavaScript, Netscape vs Microsoft, развитие и стандартизация языка JavaScript, TypeScript, экосистема JavaScript, появление JIT-компиляторов JS-движков, asm.js, WebAssembly, браузерные войны, Firefox, Brave, приватность пользователей, роль Safari в авангарде борьбы за неё и Chrome, которому приходится выкручиваться по-своему.
https://www.youtube.com/watch?v=krB0enBeSiE
Интервью длится почти три часа, и в нём затрагивается очень много интересных тем, таких как история языков программирования, физика (Брендан по образованию физик), история JavaScript, Netscape vs Microsoft, развитие и стандартизация языка JavaScript, TypeScript, экосистема JavaScript, появление JIT-компиляторов JS-движков, asm.js, WebAssembly, браузерные войны, Firefox, Brave, приватность пользователей, роль Safari в авангарде борьбы за неё и Chrome, которому приходится выкручиваться по-своему.
https://www.youtube.com/watch?v=krB0enBeSiE
YouTube
Brendan Eich: JavaScript, Firefox, Mozilla, and Brave | Lex Fridman Podcast #160
Brendan Eich is the creator of JavaScript and co-founder of Mozilla and Brave. Please support this podcast by checking out our sponsors:
- The Jordan Harbinger Show: https://jordanharbinger.com/lex/
- Sun Basket: https://sunbasket.com/lex and use code LEX…
- The Jordan Harbinger Show: https://jordanharbinger.com/lex/
- Sun Basket: https://sunbasket.com/lex and use code LEX…
Результаты сегодняшней встречи #WebAssembly CG
Только что закончилась очередная встреча WebAssembly Community Group. Результаты:
- Branch Hinting остается на phase 1
- Fixed-width SIMD переходит на phase 4
- Web Security Content Policy переходит на phase 1
- Memory64 переходит на phase 3
Только что закончилась очередная встреча WebAssembly Community Group. Результаты:
- Branch Hinting остается на phase 1
- Fixed-width SIMD переходит на phase 4
- Web Security Content Policy переходит на phase 1
- Memory64 переходит на phase 3
⚡️ #WebAssembly пропозал non-trapping float-to-int conversions реализован в JavaScriptCore, движке WebKit/Safari
https://github.com/WebKit/WebKit/commit/c60cbacb4b8746e281a03d94e2473b1aa0f620ee
https://github.com/WebKit/WebKit/commit/c60cbacb4b8746e281a03d94e2473b1aa0f620ee
Вышла новая бета языка Dart с поддержкой null safety
Эта фича поможет не только сделать код более надёжным, но и позволит компилятору лучше его соптимизировать, а также собрать более лёгкие бинарники. В данный момент разработчики языка обновляют основные пакеты и Flutter для поддержки фичи.
Новость в блоге на медиуме: https://medium.com/dartlang/preparing-the-dart-and-flutter-ecosystem-for-null-safety-e550ce72c010
Документация: https://dart.dev/null-safety
GitHub issue: https://github.com/dart-lang/language/issues/110#issuecomment-780318393
Эта фича поможет не только сделать код более надёжным, но и позволит компилятору лучше его соптимизировать, а также собрать более лёгкие бинарники. В данный момент разработчики языка обновляют основные пакеты и Flutter для поддержки фичи.
Новость в блоге на медиуме: https://medium.com/dartlang/preparing-the-dart-and-flutter-ecosystem-for-null-safety-e550ce72c010
Документация: https://dart.dev/null-safety
GitHub issue: https://github.com/dart-lang/language/issues/110#issuecomment-780318393
Medium
Preparing the Dart and Flutter ecosystem for null safety
Null safety is now API stable. Publish your stable packages now!
Вышел ReScript 9.0
ReScript — это новое название для Reason в использовании совместно с BuckleScript. В новой версии некоторые улучшения компилятора и синтаксиса.
https://rescript-lang.org/blog/release-9-0
Подробнее о ребрендинге проектов: https://rescript-lang.org/bucklescript-rebranding
ReScript — это новое название для Reason в использовании совместно с BuckleScript. В новой версии некоторые улучшения компилятора и синтаксиса.
https://rescript-lang.org/blog/release-9-0
Подробнее о ребрендинге проектов: https://rescript-lang.org/bucklescript-rebranding
ReScript Blog
ReScript 9.0 | ReScript Blog
Featuring a new external stdlib configuration, some syntax improvements and a small breaking change for nested records.
В V8 v9.0 добавится использование инлайн кэша для доступа к полям объекта-родителя
В данный момент для обращений вида
https://v8.dev/blog/fast-super
В данный момент для обращений вида
super.x используется рантайм вызов. В статье рассказываются технические подробности о том, как работает super и как получилось переиспользовать инлайн кэш для его ускорения.https://v8.dev/blog/fast-super
v8.dev
Super fast super property access · V8
Faster super property access in V8 v9.0
Руководство по использованию стримов
На web.dev опубликована хорошая статья о том, как работать со Streams API, подробно и с примерами использоваения.
https://web.dev/streams/
На web.dev опубликована хорошая статья о том, как работать со Streams API, подробно и с примерами использоваения.
https://web.dev/streams/
Релиз инструмента сборки Vite 2.0
Vite (читается как «Вит») представляет собой преднастроенный сервер для разработки и бандлер. Он использует нативные ES модули, Rollup и esbuild, позволяет работать с Vue, React, Preact, Lit Element. В нём также предусмотрены поддержка CSS и экспериментальная поддержка SSR.
https://dev.to/yyx990803/announcing-vite-2-0-2f0a
Vite (читается как «Вит») представляет собой преднастроенный сервер для разработки и бандлер. Он использует нативные ES модули, Rollup и esbuild, позволяет работать с Vue, React, Preact, Lit Element. В нём также предусмотрены поддержка CSS и экспериментальная поддержка SSR.
https://dev.to/yyx990803/announcing-vite-2-0-2f0a
DEV Community
Announcing Vite 2.0
Today I'm excited to announce the official release of Vite 2.0! Vite (French word for "fast", pron...
На этой неделе я веду коллективный твиттер-аккаунт jsunderhood
https://twitter.com/jsunderhood/status/1363813539748667396
https://twitter.com/jsunderhood/status/1363813539748667396
Twitter
jsunderhood
Привет. Я Серёжа @chicoxyzzy. Я помогаю @TC39 в качестве приглашённого эксперта, помогаю организовывать @moscowjs и @beerjs_moscow, веду телеграм канал https://t.co/LKDrtrIkDa вместе с @rdvornov и контрибьючу в разный опенсорс от React до JavaScriptCore.…
⚡️Поддержка Top-level await (stage 3) добавлена в JavaScriptCore, движок, используемый в Safari/WebKit
https://bugs.webkit.org/show_bug.cgi?id=202484
https://bugs.webkit.org/show_bug.cgi?id=202484
GitHub
GitHub - tc39/proposal-top-level-await: top-level `await` proposal for ECMAScript (stage 4)
top-level `await` proposal for ECMAScript (stage 4) - tc39/proposal-top-level-await
Вышел Babel 7.13.0
Из нового:
- опцию
- новая опция
- поддержка пропозала Records and Tuples (stage 2) (потребуется также полифилл)
- улучшение поддержки Flow и поддержка TypeScript 4.2
- опция useESModules задепрекейчена, и теперь Babel сам может автоматически определить какой формат модулей нужен, опция будет окончательно убрана в Babel 8
https://babeljs.io/blog/2021/02/22/7.13.0.html
Из нового:
- опцию
target теперь можно указать один раз на верхнем уровне конфига- новая опция
assumptions, в которой можно указать насколько разработчик готов пожертвовать соответствием спецификации в пользу производительности, аналогично опции loose, но гранулярно- поддержка пропозала Records and Tuples (stage 2) (потребуется также полифилл)
- улучшение поддержки Flow и поддержка TypeScript 4.2
- опция useESModules задепрекейчена, и теперь Babel сам может автоматически определить какой формат модулей нужен, опция будет окончательно убрана в Babel 8
https://babeljs.io/blog/2021/02/22/7.13.0.html
babeljs.io
7.13.0 Released: Records and Tuples, granular compiler assumptions, and top-level targets · Babel
We just published Babel 7.13.0, the first minor release of 2021!
Вышел Firefox 86
В нём:
- некоторые улучшения DevTools
- lighter оператор для
- псевдокласс :autofill
- Intl.DisplayNames (ECMA402 2021)
- поддержка нескольких видео при воспроизведении Picture-in-Picture
- Total Cookie Protection
- AVIF изображения
- CSS-функций image-set()
Изменения для разработчиков
Изменения для пользователей
Изменения в API расширений
В нём:
- некоторые улучшения DevTools
- lighter оператор для
<feComposite> в SVG- псевдокласс :autofill
- Intl.DisplayNames (ECMA402 2021)
- поддержка нескольких видео при воспроизведении Picture-in-Picture
- Total Cookie Protection
- AVIF изображения
- CSS-функций image-set()
Изменения для разработчиков
Изменения для пользователей
Изменения в API расширений
Mozilla Hacks – the Web developer blog
A Fabulous February Firefox — 86!
Looking into the near distance, we can see the end of February. To keep you engaged until then, we’d like to introduce you to Firefox 86.
State Partitioning и Total Cookie Protection Firefox 86
Firefox вслед за Safari (с их Intelligent Tracking Prevention) и Brave продолжает бороться с отслеживанием пользователя, и реализует систему, изолирующую хранение состояния при использовании айфремов.
https://hacks.mozilla.org/2021/02/introducing-state-partitioning/
https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/
И ещё анонс с видео и про множественные PiP бонусом: https://blog.mozilla.org/blog/2021/02/23/latest-firefox-release-includes-multiple-picture-in-picture-and-total-cookie-protection/
Firefox вслед за Safari (с их Intelligent Tracking Prevention) и Brave продолжает бороться с отслеживанием пользователя, и реализует систему, изолирующую хранение состояния при использовании айфремов.
https://hacks.mozilla.org/2021/02/introducing-state-partitioning/
https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/
И ещё анонс с видео и про множественные PiP бонусом: https://blog.mozilla.org/blog/2021/02/23/latest-firefox-release-includes-multiple-picture-in-picture-and-total-cookie-protection/
Mozilla Hacks – the Web developer blog
Introducing State Partitioning
State Partitioning is the new privacy feature called Total Cookie Protection, which will be available in ETP Strict Mode in Firefox 86.
Вышел TypeScript 4.2
Из нового:
- Сохранение псевдонимов типов в случаях, когда они раньше раскладывались на базовые
- Остаточные элементы теперь могут находиться в любом месте кортежей, а не только в середине
- Более строгие проверки для оператора
- Новый флаг компилятора
- Модификатор
- Флаг компилятора
- Проверка на использование функции без вызова в выражениях с
- Переменные, полученные в результате деструктуризации теперь могут быть специально помечены как неиспользуемы с помощью префикса
- Улучшения взаимодействия опциональных свойств и строковых сигнатур ключа объекта
- Создание отсутствующей реализации функции на основе её вызова
https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/
Из нового:
- Сохранение псевдонимов типов в случаях, когда они раньше раскладывались на базовые
- Остаточные элементы теперь могут находиться в любом месте кортежей, а не только в середине
- Более строгие проверки для оператора
in- Новый флаг компилятора
--noPropertyAccessFromIndexSignature- Модификатор
abstract для сигнатур конструкторов- Флаг компилятора
--explainFiles- Проверка на использование функции без вызова в выражениях с
|| и &&- Переменные, полученные в результате деструктуризации теперь могут быть специально помечены как неиспользуемы с помощью префикса
_- Улучшения взаимодействия опциональных свойств и строковых сигнатур ключа объекта
- Создание отсутствующей реализации функции на основе её вызова
https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/
Microsoft News
Announcing TypeScript 4.2
Today we’re excited to announce the release of TypeScript 4.2! For those who aren’t familiar with TypeScript, it’s an extension to JavaScript that adds static types and type-checking. With types, you can state exactly what your functions take, and what they’ll…
Трансляция с Justin Fagnani из команды Polymer о релизах LitElement 3.0 и lit-html 2.0 (live)
Начало трансляции через 10 минут.
https://www.youtube.com/watch?v=F3y5E9YVtsk
Начало трансляции через 10 минут.
https://www.youtube.com/watch?v=F3y5E9YVtsk
YouTube
LitElement 3.0 & lit-html 2.0, what's new and exciting?
Justin Fagnani from the Polymer team is joining us to discuss the next major releases of LitElement and lit-html. The new releases are smaller, faster, and support server-side rendering (SSR). The brand new ReactiveController feature allows developers to…
⚡️ Спецификаци Web Authentication: An API for accessing Public Key Credentials Level 2 получила статус Proposed Recommendation