Вышел AssemblyScript 0.18
Интересный релиз с обновлённым рантаймом и новым сборщик мусора.
AssemblyScript — это TypeScript-подобный язык, который компилируется в #WebAssembly.
Интересный релиз с обновлённым рантаймом и новым сборщик мусора.
AssemblyScript — это TypeScript-подобный язык, который компилируется в #WebAssembly.
GitHub
Release v0.18.0 · AssemblyScript/assemblynoscript
Breaking changes
Rewrite runtime, switch to tracing GC and bootstrap (#1559) (b857944)
The exported runtime interface has changed, affecting how external objects are being kept alive. Please refer...
Rewrite runtime, switch to tracing GC and bootstrap (#1559) (b857944)
The exported runtime interface has changed, affecting how external objects are being kept alive. Please refer...
Вышел Chrome Beta 89
Стабильный релиз запланирован на 2 марта.
Список изменений: https://blog.chromium.org/2021/01/chrome-89-beta-advanced-hardware.html
Из главного:
- WebHID API включен по умолчанию
- Web NFC на Android
- Web Serial API на десктопах
- Web Share API теперь работает и на десктопах
- AVIF изображения теперь работают также на Android и WebView
- CSS: псевдоэлемент
- Top-level await (stage 3)
Стабильный релиз запланирован на 2 марта.
Список изменений: https://blog.chromium.org/2021/01/chrome-89-beta-advanced-hardware.html
Из главного:
- WebHID API включен по умолчанию
- Web NFC на Android
- Web Serial API на десктопах
- Web Share API теперь работает и на десктопах
- AVIF изображения теперь работают также на Android и WebView
- CSS: псевдоэлемент
::target-text, новые возможности закругления углов, свойства forced-colors и forced-colors-adjust- Top-level await (stage 3)
Chromium Blog
Chrome 89 Beta: Advanced Hardware Interactions, Web Sharing on Desktop, and More
Unless otherwise noted, changes described below apply to the newest Chrome beta channel release for Android, Chrome OS, Linux, macOS, and Wi...
Лучшие практики при создании карусели
Статья о том, как сделать производительную карусель, используя современные возможности (CSS Scroll Snap) и без JavaScript.
Статья о том, как сделать производительную карусель, используя современные возможности (CSS Scroll Snap) и без JavaScript.
web.dev
Best practices for carousels | Articles | web.dev
Learn how to optimize carousels for performance and usability.
Поддержка :focus-visible в WebKit
Инженеры Igalia продолжают делиться рассказами о проделанной ими работе. Manuel Rego Casasnovas написал статью о том, что требуется для поддержки
Инженеры Igalia продолжают делиться рассказами о проделанной ими работе. Manuel Rego Casasnovas написал статью о том, что требуется для поддержки
:focus-visible в WebKit. Это фича, которая ранее прошла отбор Open Prioritization. В статье разбирается сама фича, какие проблемы потребуется решить для её реализации в WebKit, а также проблемы совместимости в Chrome и Firefox.Igalia
:focus-visible in WebKit - January 2021 - Rego's Everyday Life
A weblog about my work at Igalia
Новое свойство aspect-ratio и его эмуляция в браузерах, которые его не поддерживают
Una Kravets написала небольшую статью о новом свойстве aspect-ratio, которое позволяет сохранить пропорции в адаптивных раскладках. Оно поддерживается в недавно вышедшем Chrome 88, в Firefox 87 Nightly и Safari Technology Preview 118.
Una Kravets написала небольшую статью о новом свойстве aspect-ratio, которое позволяет сохранить пропорции в адаптивных раскладках. Оно поддерживается в недавно вышедшем Chrome 88, в Firefox 87 Nightly и Safari Technology Preview 118.
web.dev
New aspect-ratio CSS property supported in Chromium, Safari Technology Preview, and Firefox Nightly | Articles | web.dev
Maintaining aspect ratio within images and elements is now easier to achieve with the new aspect-ratio CSS property.
Команда V8 опубликовала свои OKR на 2021 год
Документ доступен тут.
(OKR — это фреймворк для управления проектами)
Документ доступен тут.
(OKR — это фреймворк для управления проектами)
Google Docs
[Public] V8 JavaScript 2021 Annual OKRs
V8 JavaScript 2021 Annual OKRs Owner: v8-team@ This doc is shared externally Objective: Performance optimization KR: Optimize V8 to improve LCP by 4% Improve the V8 compilers, runtime, and garbage collection. KR: Prototype an experimental shared memory feature…
Вебня
Спецификация WebRTC 1.0 получила статус W3C Recommendation Пресс-релиз: https://www.w3.org/2021/01/pressrelease-webrtc-rec.html.en
Гугловцы подготовили по этому поводу небольшую статью об истории, архитектуре и будущем WebRTC
web.dev
WebRTC is now a W3C and IETF standard | Articles | web.dev
A brief overview of the history, architecture, use cases, and future of WebRTC.
Опубликован роадмап Microsoft Edge
В нём указаны планируемые даты появления разных фич в браузере.
https://www.microsoftedgeinsider.com/en-us/whats-next
В нём указаны планируемые даты появления разных фич в браузере.
https://www.microsoftedgeinsider.com/en-us/whats-next
Финальный список новых фич ES2021:
- String.prototype.replaceAll
- Promise.any
- WeakRefs
- Logical Assignment Operators
- Numeric separators
- String.prototype.replaceAll
- Promise.any
- WeakRefs
- Logical Assignment Operators
- Numeric separators
В esbuild появилась поддержка watch режима
esbuild — это очень быстрый бандлер для JS/TS проектов. В версии 0.8.38 теперь есть поддержка режима watch. В данный момент она основана на поллинге для портативности, но возможно в будущем будет использовать особенности платформ. Данная фича долгое время была самой популярной по запросам от коммьюнити.
esbuild — это очень быстрый бандлер для JS/TS проектов. В версии 0.8.38 теперь есть поддержка режима watch. В данный момент она основана на поллинге для портативности, но возможно в будущем будет использовать особенности платформ. Данная фича долгое время была самой популярной по запросам от коммьюнити.
GitHub
Release v0.8.38 · evanw/esbuild
Implement a simple cross-platform watch mode (#21)
With this release, you can use the --watch flag to run esbuild in watch mode which watches the file system for changes and does an incremental bui...
With this release, you can use the --watch flag to run esbuild in watch mode which watches the file system for changes and does an incremental bui...
Mozilla продолжает сворачивать работу над некоторыми своими продуктами
В этот раз были закрыты проекты для голосового управления и ввода для Firefox.
https://www.opennet.ru/opennews/art.shtml?num=54499
В этот раз были закрыты проекты для голосового управления и ввода для Firefox.
https://www.opennet.ru/opennews/art.shtml?num=54499
www.opennet.ru
Mozilla свернула разработку проектов Voice Fill и Firefox Voice
Компания Mozilla предупредила пользователей о скорой остановке работы сервера Speech Proxy, обеспечивающего работу дополнений Voice Fill и Firefox Voice. Работа сервиса будет остановлена 28 февраля. Исходный код дополнений останется в репозиториях и продолжит…
Итоги четвёртого дня 80й встречи #TC39
С некоторым опозданием публикую результаты за прошлый четверг, — последний день первого пленарного заседания #TC39 в этом году.
Итоги первого дня тут, второго тут, а третьего — вот тут.
Пропозалы
Adopting Unicode behavior for set notation in regular expressions (слайды) — взят stage 1.
RegExp.escape — взят stage 1.
index from end syntax (слайды) — stage 1 не взят, т.к. не все удовлетворены как синтаксисом, так и спорной аналогией с аналогичным оператором в C# (он тут вышел другим). Также чемпиону было рекомендовано пообщаться с имплементарами из V8, у которых были опыты с чем-то подобным.
Array find from last (слайды) — взят stage 1. У комитета есть сомнения по поводу веб-совместимости имён, но в целом пропозал был поддержан многими.
defer module import eval (слайды) — переходит на stage 1. У пропозала есть определённые проблемы с сайд-эффектами внутри "ленивых" модулей (порядок выполнения), но в целом предложение признано интересным и стоящим дальнейших исследований. Очень хотелось бы видеть его в стандарте!
Intl LocaleMatcher — как и в случае со многими ECMA402 пропозалами, stage 1 взять без каких-либо проблем.
Другие темы
Inclusion working group updates — предложение перейти на Matrix с IRC как основного инструмента для общения TC39.
Incubation Chartering — небольшой апдейт по отдельным созвонам для некоторых пропозалов заинтересованными лицами, в целом ничего важного.
Protocols in JavaScript — доклад о кейсах, когда надо использовать протоколы в JavaScript. Предложения докладчика были основаны на опыте пропозала Temporal. Чтобы оформить это в конкретный пропозал, предложено подумать над вариантами и продолжить обсуждения внутри комитета.
С некоторым опозданием публикую результаты за прошлый четверг, — последний день первого пленарного заседания #TC39 в этом году.
Итоги первого дня тут, второго тут, а третьего — вот тут.
Пропозалы
Adopting Unicode behavior for set notation in regular expressions (слайды) — взят stage 1.
RegExp.escape — взят stage 1.
index from end syntax (слайды) — stage 1 не взят, т.к. не все удовлетворены как синтаксисом, так и спорной аналогией с аналогичным оператором в C# (он тут вышел другим). Также чемпиону было рекомендовано пообщаться с имплементарами из V8, у которых были опыты с чем-то подобным.
Array find from last (слайды) — взят stage 1. У комитета есть сомнения по поводу веб-совместимости имён, но в целом пропозал был поддержан многими.
defer module import eval (слайды) — переходит на stage 1. У пропозала есть определённые проблемы с сайд-эффектами внутри "ленивых" модулей (порядок выполнения), но в целом предложение признано интересным и стоящим дальнейших исследований. Очень хотелось бы видеть его в стандарте!
Intl LocaleMatcher — как и в случае со многими ECMA402 пропозалами, stage 1 взять без каких-либо проблем.
Другие темы
Inclusion working group updates — предложение перейти на Matrix с IRC как основного инструмента для общения TC39.
Incubation Chartering — небольшой апдейт по отдельным созвонам для некоторых пропозалов заинтересованными лицами, в целом ничего важного.
Protocols in JavaScript — доклад о кейсах, когда надо использовать протоколы в JavaScript. Предложения докладчика были основаны на опыте пропозала Temporal. Чтобы оформить это в конкретный пропозал, предложено подумать над вариантами и продолжить обсуждения внутри комитета.
GitHub
agendas/2021/01.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
Бета версии macOS 11.3 и iOS 14.5 поставляются с Safari 14.1
Из нового по сравнению с версией 14:
JavaScript
- поддержка WeakRefs (ES2021)
- поддержка приватных полей классов (stage 3)
- поддержка публичных и приватных статических полей классов (stage 3)
- Intl.NumberFormat Unified API (ECMA402 2020)
- Intl.DateTimeFormat.formatRangeToParts (ECMA402 2021)
- Intl.ListFormat (ECMA402 2021)
- Intl.DisplayNames (ECMA402 2021)
- DateTimeFormat dateStyle & timeStyle (ECMA402 2021)
WebAssembly
- JS BigInt to Wasm i64 integration
- Sign-extension operations (еее мой код уже в Safari 😭)
CSS
- свойство gap в Flexbox
- поддержка aspect-ratio
Web API
- Web Audio API
- атрибут SameSite для кукис
- WebGL 2.0
- MediaRecorder API
- много улучшений WebRTC
Этот список изменений составлен лично мной и, скорее всего, далеко не полный. Напишите в комментарии, если вы заметили ещё какие-нибудь фичи.
Из нового по сравнению с версией 14:
JavaScript
- поддержка WeakRefs (ES2021)
- поддержка приватных полей классов (stage 3)
- поддержка публичных и приватных статических полей классов (stage 3)
- Intl.NumberFormat Unified API (ECMA402 2020)
- Intl.DateTimeFormat.formatRangeToParts (ECMA402 2021)
- Intl.ListFormat (ECMA402 2021)
- Intl.DisplayNames (ECMA402 2021)
- DateTimeFormat dateStyle & timeStyle (ECMA402 2021)
WebAssembly
- JS BigInt to Wasm i64 integration
- Sign-extension operations (еее мой код уже в Safari 😭)
CSS
- свойство gap в Flexbox
- поддержка aspect-ratio
Web API
- Web Audio API
- атрибут SameSite для кукис
- WebGL 2.0
- MediaRecorder API
- много улучшений WebRTC
Этот список изменений составлен лично мной и, скорее всего, далеко не полный. Напишите в комментарии, если вы заметили ещё какие-нибудь фичи.
Команда AngularJS о прекращении поддержки
Поддержка AngularJS будет прекращена 31 декабря 2021 года. Мейнтейнеры предлагают варианты тем, кто всё еще использует этот фреймворк: миграция на Angular, либо остаться на AngularJS и воспользоваться расширенной поддержкой — независимая команда разработчиков будет поддерживать форк AngularJS и предоставлять заплатки безопасности, а также другие необходимые изменения.
https://blog.angular.io/finding-a-path-forward-with-angularjs-7e186fdd4429
Поддержка AngularJS будет прекращена 31 декабря 2021 года. Мейнтейнеры предлагают варианты тем, кто всё еще использует этот фреймворк: миграция на Angular, либо остаться на AngularJS и воспользоваться расширенной поддержкой — независимая команда разработчиков будет поддерживать форк AngularJS и предоставлять заплатки безопасности, а также другие необходимые изменения.
https://blog.angular.io/finding-a-path-forward-with-angularjs-7e186fdd4429
Medium
Finding a Path Forward with AngularJS
In January of 2018 we laid out our plans for the final releases of AngularJS before entering long term support. Then in July 2020 we…
Private Click Measurement — предложение Apple по стандартизации отслеживания рекламных переходов
Apple собирается влючить Private Click Measurement по умолчанию в Safari, чтобы дать разработчикам попробовать новое API, и предлагает помощь другим браузерам в имплементации, чтобы добиться стандартизации в W3C. Этот подход отслеживания рекламных переходов позволит пользователям сохранить приватность, а владельцам сайтов даст альтернативу использованию кук.
https://webkit.org/blog/11529/introducing-private-click-measurement-pcm/
Apple собирается влючить Private Click Measurement по умолчанию в Safari, чтобы дать разработчикам попробовать новое API, и предлагает помощь другим браузерам в имплементации, чтобы добиться стандартизации в W3C. Этот подход отслеживания рекламных переходов позволит пользователям сохранить приватность, а владельцам сайтов даст альтернативу использованию кук.
https://webkit.org/blog/11529/introducing-private-click-measurement-pcm/
WebKit
Introducing Private Click Measurement, PCM
This blog post covers a new feature called Private Click Measurement, or PCM, for measuring ad clicks across websites and from iOS apps to websites.