Лучшие практики при создании карусели
Статья о том, как сделать производительную карусель, используя современные возможности (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.
GitHub о релизе npm 7
Количество зависимостей в нём уменьшено на 54%, покрытие кода тестами увеличено на 17%, а также значительно увеличена производительность. В npm 7 используется новый формат локфайла, а также появилась поддержка
Подробнее в блоге GitHub: https://github.blog/2021-02-02-npm-7-is-now-generally-available/
Количество зависимостей в нём уменьшено на 54%, покрытие кода тестами увеличено на 17%, а также значительно увеличена производительность. В npm 7 используется новый формат локфайла, а также появилась поддержка
yarn.lock
. Кроме этого, peerDependencies теперь устанавливаются по умолчанию.Подробнее в блоге GitHub: https://github.blog/2021-02-02-npm-7-is-now-generally-available/
The GitHub Blog
npm 7 is now generally available!
We’re announcing version 7 of the npm CLI is now generally available.
О публикации рекламы на этом канале (её нет) и прочие условия сотрудничества
Каждый день мне в личку пишут с вопросами об условиях публикации рекламы в Вебне. Я устал каждый раз отвечать одно и то же, поэтому решил сделать этот пост, чтобы в следующий раз просто скопировать ссылку.
Ответ коротко:
Условия очень простые: реклама на канале не публикуется (да, совсем (да, это точно (да, даже релевантная (да, я понимаю, что за деньги)))).
Ответ развёрнуто:
1) Если ну очень хочется порекламировать здесь своё событие (конференцию, митап, выставку кошек) или публикацию (интервью, подкаст), то можете пригласить меня или Романа выступить или провести какую-то другую общественно-полезную активность, и тогда, скорее всего, в виде исключения и для самопиара тут будет опубликовано приглашение обратить внимание на активность с участием авторов канала, что косвенно является рекламой вашего события, издания, подкаста и пр.
2) Также я планирую когда-нибудь все-таки запустить YouTube-канал Вебни, где рекламные интеграции возможны (можете связаться со мной, если Вам интересен этот формат).
3) Иногда я рассказываю здесь о других каналах. Это не значит, что я могу рассказать о любом канале. Рассказываю исключительно о тех, которые мне нравятся, безвозмездно, импульсивно и ВНЕЗАПНО. Это также означает, что, скорее всего, просьбы рассказать о Вашем канале тут будут расценены как давление и проигнорированы, даже если мы старые друзья.
Постскриптум:
Если Вам нравится этот канал, то Вы можете:
- просто написать спасибо в комментариях к этому посту или лично авторам канала (контакты выше и в описании канала) — это всегда приятно! ❤️
- рассказать о канале коллегам и друзьям
- поддержать его на патреоне
Кстати, большая часть денег с патреона идёт на благотворительность и на поддержание опенсорс проектов.
Спасибо, что дочитали досюда!
Каждый день мне в личку пишут с вопросами об условиях публикации рекламы в Вебне. Я устал каждый раз отвечать одно и то же, поэтому решил сделать этот пост, чтобы в следующий раз просто скопировать ссылку.
Ответ коротко:
Условия очень простые: реклама на канале не публикуется (да, совсем (да, это точно (да, даже релевантная (да, я понимаю, что за деньги)))).
Ответ развёрнуто:
1) Если ну очень хочется порекламировать здесь своё событие (конференцию, митап, выставку кошек) или публикацию (интервью, подкаст), то можете пригласить меня или Романа выступить или провести какую-то другую общественно-полезную активность, и тогда, скорее всего, в виде исключения и для самопиара тут будет опубликовано приглашение обратить внимание на активность с участием авторов канала, что косвенно является рекламой вашего события, издания, подкаста и пр.
2) Также я планирую когда-нибудь все-таки запустить YouTube-канал Вебни, где рекламные интеграции возможны (можете связаться со мной, если Вам интересен этот формат).
3) Иногда я рассказываю здесь о других каналах. Это не значит, что я могу рассказать о любом канале. Рассказываю исключительно о тех, которые мне нравятся, безвозмездно, импульсивно и ВНЕЗАПНО. Это также означает, что, скорее всего, просьбы рассказать о Вашем канале тут будут расценены как давление и проигнорированы, даже если мы старые друзья.
Постскриптум:
Если Вам нравится этот канал, то Вы можете:
- просто написать спасибо в комментариях к этому посту или лично авторам канала (контакты выше и в описании канала) — это всегда приятно! ❤️
- рассказать о канале коллегам и друзьям
- поддержать его на патреоне
Кстати, большая часть денег с патреона идёт на благотворительность и на поддержание опенсорс проектов.
Спасибо, что дочитали досюда!
Улучшение аллокации атласа текстур в WebRender
В блоге команды Mozilla Gfx появилась техническая статья о работе над улучшением аллокации текстур, плюсах и минусах разных подходов. Будет интересно тем, кто любит сильно технические подробности о борьбе за память и время исполнения и компромиссах. Результаты исследования уже частично реализованы в Firefox 85, а в Firefox 86 аллокация текстур будет улучшена ещё больше.
https://mozillagfx.wordpress.com/2021/02/04/improving-texture-atlas-allocation-in-webrender/
В блоге команды Mozilla Gfx появилась техническая статья о работе над улучшением аллокации текстур, плюсах и минусах разных подходов. Будет интересно тем, кто любит сильно технические подробности о борьбе за память и время исполнения и компромиссах. Результаты исследования уже частично реализованы в Firefox 85, а в Firefox 86 аллокация текстур будет улучшена ещё больше.
https://mozillagfx.wordpress.com/2021/02/04/improving-texture-atlas-allocation-in-webrender/
Mozilla Gfx Team Blog
Improving texture atlas allocation in WebRender
This is going to be a rather technical dive into a recent improvement that went into WebRender. Texture atlas allocation In order to submit work to the GPU efficiently, WebRender groups as many dra…
Вышла бета V8 v8.9
Новое:
- top-level await (stage 3)
- более быстрые вызовы функций с несовпадающим количеством аргументов
Релиз ожидается 2 марта вместе с Chrome 89.
Новое:
- top-level await (stage 3)
- более быстрые вызовы функций с несовпадающим количеством аргументов
Релиз ожидается 2 марта вместе с Chrome 89.
v8.dev
V8 release v8.9 · V8
V8 release v8.9 brings performance improvements to calls with argument size mismatch.