This media is not supported in your browser
VIEW IN TELEGRAM
В комментариях новостей про Web Extensions в Safari 15 многие интересовались будут ли доступны блокировщики рекламы. Я записал видео, на котором вы можете увидеть, что на данный момент там практически только они есть. Также присутствуют ссылки на два альтернативных браузера - Firefox Focus (при этом его блокировщик работает и в Safari) и DuckDuckGo (только standalone, как альтернатива Safari)
Опубликованы стенограммы майской встречи #TC39
День 1 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-25.md
День 2 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-26.md
День 1 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-25.md
День 2 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-26.md
GitHub
notes/meetings/2021-05/may-25.md at main · tc39/notes
TC39 meeting notes. Contribute to tc39/notes development by creating an account on GitHub.
Forwarded from Валя читает ишью
Будущее HTTP клиента в Node.js
В Node.js существует 3 встроенных модуля для HTTP запросов: HTTP, HTTPS и HTTP/2. Из названий, в общем-то, понятно для чего каждый из них предназначен. Все эти модули используют встроенный модуль Net для осуществления запросов.
Но обычно с этими модулями напрямую мы не работаем. Самый популярный пакет-обертка — это request. (он, кстати, задепрекейчен) Следующий по популярности это node-fetch, ну а догоняет его got от Синдре Сорхуса. Где-то в районе четвёртого места появляется axios.
Все эти библиотеки используют те самые встроенные модули. И это проблема, т.к. многие из них манки-патчат методы и это затрудняет добавление фич и исправление багов в ноде.
И здесь мы переходим к undici. Этот непопулярный клиент (52 000 установок в неделю против более 20 000 000 у каждого из пакетов выше) написаный Маттео Калина (со-автор fastify и член TSC Node.js) фундаментально отличается от всех остальных библиотек — он использует модуль Net в обход встроенных http и https. Так же используется WASM билд парсера llhttp. За счёт этого undici в разы быстрее, но что более интересно — в документации Node.js будет ссылка на undici. Т.е. это будет один из рекомендованных способов для работы с HTTP.
Но отвлечёмся на node-fetch и axios: их популярность более чем очевидна — зачем мне учить 2 разных API для сервера и клиента, если я могу использовать одну и ту же библиотеку и всё работает? Тем более учитывая, что в ноде начинают появляться Web API, например Crypto. А ишью с просьбой добавить fetch в ноду вот уже 3 года, но недавно началось интересное движение: один из членов репозитория ноды запостил скрин с использванием fetch из ноды со словами «now who wants to write tests for it :P». Конечно, это ничего не значит, но немного приближает нас к наличию fetch в ноде.
Так же нужно отметить, что существует undici-fetch и скорей всего он будет вмерджен в сам undici. Опять же, сейчас это не более чем размышления на тему, но, возможно, именно undici — будущее HTTP в Node.js.
Отдельно оставлю ссылки на ключевые ишью:
Future of the Node HTTP Client
Implement window.fetch into core
В Node.js существует 3 встроенных модуля для HTTP запросов: HTTP, HTTPS и HTTP/2. Из названий, в общем-то, понятно для чего каждый из них предназначен. Все эти модули используют встроенный модуль Net для осуществления запросов.
Но обычно с этими модулями напрямую мы не работаем. Самый популярный пакет-обертка — это request. (он, кстати, задепрекейчен) Следующий по популярности это node-fetch, ну а догоняет его got от Синдре Сорхуса. Где-то в районе четвёртого места появляется axios.
Все эти библиотеки используют те самые встроенные модули. И это проблема, т.к. многие из них манки-патчат методы и это затрудняет добавление фич и исправление багов в ноде.
И здесь мы переходим к undici. Этот непопулярный клиент (52 000 установок в неделю против более 20 000 000 у каждого из пакетов выше) написаный Маттео Калина (со-автор fastify и член TSC Node.js) фундаментально отличается от всех остальных библиотек — он использует модуль Net в обход встроенных http и https. Так же используется WASM билд парсера llhttp. За счёт этого undici в разы быстрее, но что более интересно — в документации Node.js будет ссылка на undici. Т.е. это будет один из рекомендованных способов для работы с HTTP.
Но отвлечёмся на node-fetch и axios: их популярность более чем очевидна — зачем мне учить 2 разных API для сервера и клиента, если я могу использовать одну и ту же библиотеку и всё работает? Тем более учитывая, что в ноде начинают появляться Web API, например Crypto. А ишью с просьбой добавить fetch в ноду вот уже 3 года, но недавно началось интересное движение: один из членов репозитория ноды запостил скрин с использванием fetch из ноды со словами «now who wants to write tests for it :P». Конечно, это ничего не значит, но немного приближает нас к наличию fetch в ноде.
Так же нужно отметить, что существует undici-fetch и скорей всего он будет вмерджен в сам undici. Опять же, сейчас это не более чем размышления на тему, но, возможно, именно undici — будущее HTTP в Node.js.
Отдельно оставлю ссылки на ключевые ишью:
Future of the Node HTTP Client
Implement window.fetch into core
W3C Web Machine Learning Working Group опубликовала первый публичный черновик спецификации Web Neural Network API
Документ описывает низкоуровневый API для аппаратного ускорения нейросетей в вебе.
Можно также почитать блогпост о создании рабочей группы W3C.
Документ описывает низкоуровневый API для аппаратного ускорения нейросетей в вебе.
Можно также почитать блогпост о создании рабочей группы W3C.
www.w3.org
W3C Launches the Web Machine Learning Working Group
This post is co-authored by Anssi Kostiainen (Working Group Chair), Ningxin Hu and Chai Chaoweeraprasit (Web Neural Network API Editors), and Ping Yu (TensorFlow.js Core team).
Опубликованы обновления спецификаций ECMAScript 2021
https://www.ecma-international.org/news/ecma-international-approves-new-standards-4/
ECMAScript® 2021 Language Specification — https://262.ecma-international.org/12.0/
ECMAScript® 2021 Internationalization API — https://402.ecma-international.org/8.0/
Также добавлена новая спецификация ECMA-419, ECMAScript® embedded systems API, которая специфицирует использование языка для встраиваемых систем — https://www.ecma-international.org/publications-and-standards/standards/ecma-419/
Фичи, которые были добавлены в ECMAScript:
- Logical Assignment Operators
- Numeric Separators
- Promise.any & AggregateError (соавтором которых я являюсь 🎉)
- String.prototype.replaceAll
- WeakRefs & FinalizationRegistry
Фичи, которые были добавлены в ECMA-402:
- Intl.ListFormat
- DateTimeFormat dateStyle и timeStyle
- Intl.DisplayNames
- Intl.DateFormat.prototype.formatRange
Также в рамках работы над ECMA-419 опубликованы документы ECMA TR/109, Class specifications for embedded hardware components и ECMA TR/110 Recommendations and best practices for scripts on connected sensing devices
https://www.ecma-international.org/news/ecma-international-approves-new-standards-4/
ECMAScript® 2021 Language Specification — https://262.ecma-international.org/12.0/
ECMAScript® 2021 Internationalization API — https://402.ecma-international.org/8.0/
Также добавлена новая спецификация ECMA-419, ECMAScript® embedded systems API, которая специфицирует использование языка для встраиваемых систем — https://www.ecma-international.org/publications-and-standards/standards/ecma-419/
Фичи, которые были добавлены в ECMAScript:
- Logical Assignment Operators
- Numeric Separators
- Promise.any & AggregateError (соавтором которых я являюсь 🎉)
- String.prototype.replaceAll
- WeakRefs & FinalizationRegistry
Фичи, которые были добавлены в ECMA-402:
- Intl.ListFormat
- DateTimeFormat dateStyle и timeStyle
- Intl.DisplayNames
- Intl.DateFormat.prototype.formatRange
Также в рамках работы над ECMA-419 опубликованы документы ECMA TR/109, Class specifications for embedded hardware components и ECMA TR/110 Recommendations and best practices for scripts on connected sensing devices
Вышел Safari Technology Preview 126
Релиз доступен для операционных систем macOS Big Sur и бета версии macOS Monterey и включает все фичи, добавленные в бета версии Safari 15.
Релиз доступен для операционных систем macOS Big Sur и бета версии macOS Monterey и включает все фичи, добавленные в бета версии Safari 15.
WebKit
Release Notes for Safari Technology Preview 126 with Safari 15 Features
Safari Technology Preview Release 126 is now available for download for macOS Big Sur and betas of macOS Monterey.
Компания Brave начала публичное тестирование бета версии своего поисковика Brave Search
Поисковой движок доступен для выбора в Brave Browser, а также доступен по адресу search.brave.com. Разработчики позиционируют его как поисковик, который заботится о приватности и построен по принципу открытости.
https://brave.com/brave-search-beta/
Поисковой движок доступен для выбора в Brave Browser, а также доступен по адресу search.brave.com. Разработчики позиционируют его как поисковик, который заботится о приватности и построен по принципу открытости.
https://brave.com/brave-search-beta/
Brave
Brave Search beta now available in Brave browser, offering users the first independent privacy search/browser alternative to big…
Starting today, users have a new independent option for search which gives them unmatched privacy. Brave Search is built on top of a completely independent index, and doesn’t track users, their searches, or their clicks.
Вебня
Опубликованы стенограммы майской встречи #TC39 День 1 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-25.md День 2 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-26.md
Yulia Startsev из Mozilla также опубликовала краткий обзор обсуждённых тем майской встречи #TC39 в блоге разработчиков SpiderMonkey.
https://spidermonkey.dev/blog/2021/06/15/tc39.html
https://spidermonkey.dev/blog/2021/06/15/tc39.html
SpiderMonkey JavaScript/WebAssembly Engine
TC39 meeting, May 25-26 2021
Due to the recent changes on freenode, TC39 has moved to Matrix as its communication platform of choice. Read more here.
Имплементация приватных свойств класса в SpiderMonkey
Mattew Gaudet опубликовал статью на Mozilla Hacks, в которой вдаётся в подробности реализации пропозала.
https://hacks.mozilla.org/2021/06/implementing-private-fields-for-javascript/
Mattew Gaudet опубликовал статью на Mozilla Hacks, в которой вдаётся в подробности реализации пропозала.
https://hacks.mozilla.org/2021/06/implementing-private-fields-for-javascript/
Mozilla Hacks – the Web developer blog
Implementing Private Fields for JavaScript
Private fields are a language feature being added to the JavaScript language through the TC39 proposal process.
⚡️В Node.js собираются добавить поддержку WHATWG Streams, совместимую с Node.js streams модулем.
GitHub
stream: implement WHATWG streams by jasnell · Pull Request #39062 · nodejs/node
This is an initial Work in progress Experimental implementation of the WHATWG streams standard.
The intent is for this to be a complete spec compliant implementation. This PR includes the web platf...
The intent is for this to be a complete spec compliant implementation. This PR includes the web platf...
Требования к JavaScript для доступных компонент
Stephanie Eckles написала статью о случаях, когда одного CSS недостаточно для создания доступных компонент и требуется добавить немного JavaScript.
https://www.smashingmagazine.com/2021/06/css-javascript-requirements-accessible-components/
Stephanie Eckles написала статью о случаях, когда одного CSS недостаточно для создания доступных компонент и требуется добавить немного JavaScript.
https://www.smashingmagazine.com/2021/06/css-javascript-requirements-accessible-components/
Smashing Magazine
When CSS Isn’t Enough: JavaScript Requirements For Accessible Components — Smashing Magazine
Spoiler alert: tooltips, modals, tabs, carousels, and dropdown menus are some of the user interface components that require more than CSS. To ensure accessibility of your interface, JavaScript is a necessary addition to accomplish focus management, respond…
Введение в #WebAssembly для JavaScript разработчиков
https://pascalpares.appspot.ovh/webassembly-for-javascript-developers/
https://pascalpares.appspot.ovh/webassembly-for-javascript-developers/
W3C CSS WG выпустила спецификацию CSS Fonts Module Level 5 в статусе First Public Working Draft
Forwarded from UfoStation
В конце следующего месяца будет выпуск подкаста с разработчиками из Яндекс.Браузер, если все пойдет по плану🤞
Как вы уже возможно заметили, подкасты получаются в формате интервью, я заранее готовлю некоторые вопросы, часть из них появляется в процессе общения.
Может и вы хотите что-то спросить у разработчиков Яндекс.Браузера?
Напишите свой вопрос, желательно технический, и возможно он попадет в следующий выпуск ;)
ps. До выпуска подкаста сосредоточусь на заметках про рендеринг и производительность.
Как вы уже возможно заметили, подкасты получаются в формате интервью, я заранее готовлю некоторые вопросы, часть из них появляется в процессе общения.
Может и вы хотите что-то спросить у разработчиков Яндекс.Браузера?
Напишите свой вопрос, желательно технический, и возможно он попадет в следующий выпуск ;)
ps. До выпуска подкаста сосредоточусь на заметках про рендеринг и производительность.
Вебня
⚡️В Node.js собираются добавить поддержку WHATWG Streams, совместимую с Node.js streams модулем.
Реализация Streams API уже влита в основную ветку Node.js!
https://twitter.com/jasnell/status/1410326388075155460
https://twitter.com/jasnell/status/1410326388075155460
Twitter
James M Snell
And with great fanfare and excitement, after years of debate and uncertainty... an experimental implementation of the WHATWG ReadableStream, WritableStream, and TransformStream has landed in Node.js core ... github.com/nodejs/node/pu…
Состояние веб воркеров на 2021
Surma написал статью о текущем состоянии поддержки веб воркеров в браузерах.
https://www.smashingmagazine.com/2021/06/web-workers-2021/
Surma написал статью о текущем состоянии поддержки веб воркеров в браузерах.
https://www.smashingmagazine.com/2021/06/web-workers-2021/
Smashing Magazine
The State Of Web Workers In 2021 — Smashing Magazine
The web is single-threaded. This makes it increasingly hard to write smooth and responsive apps. Workers have a bad rep, but can be an important and useful tool in any web developer's toolbelt for these kinds of problems. Let’s get up to speed on Workers…
Вышел TypeScript 4.4 Beta
https://devblogs.microsoft.com/typescript/announcing-typescript-4-4-beta/
В нём:
- продвинутый анализ потока управления
- символы и паттерны шаблонных строк в качестве типов индексов
- переменная catch-блока по умолчанию теперь типа unknown (вместо any) при использовании флага
- улучшения типизации опциональных свойств
- обновление команды
- улучшения производительности
https://devblogs.microsoft.com/typescript/announcing-typescript-4-4-beta/
В нём:
- продвинутый анализ потока управления
- символы и паттерны шаблонных строк в качестве типов индексов
- переменная catch-блока по умолчанию теперь типа unknown (вместо any) при использовании флага
- улучшения типизации опциональных свойств
- обновление команды
--help в консоли- улучшения производительности
Copilot – искусственный интеллект, помогающий писать кода
GitHub запускает новый сервис Copilot на основе AI, который призван помогать разработчику писать код, предлагая фрагменты кода исходя из контекста. AI обучено на миллиардах строк открытого кода и обучается стилю и особенностям проекта по мере его написания. Таким образом, по заявлению авторов, это больше чем автокомплит, так как подстраивается под разработчика и проект, предлагая адаптированные типовые решения. Сервис запускается как техническое превью, нужно записаться чтобы попробовать в деле (места ограничены, если еще доступны).
Утверждается, что поддерживается большое количество фреймворков и языков, но на этапе технического превью особенно хорошо работает с JavaScript, TypeScript, Python, Ruby и Go. На странице сервиса можно посмотреть примеры, выглядит как минимум интересно.
GitHub запускает новый сервис Copilot на основе AI, который призван помогать разработчику писать код, предлагая фрагменты кода исходя из контекста. AI обучено на миллиардах строк открытого кода и обучается стилю и особенностям проекта по мере его написания. Таким образом, по заявлению авторов, это больше чем автокомплит, так как подстраивается под разработчика и проект, предлагая адаптированные типовые решения. Сервис запускается как техническое превью, нужно записаться чтобы попробовать в деле (места ограничены, если еще доступны).
Утверждается, что поддерживается большое количество фреймворков и языков, но на этапе технического превью особенно хорошо работает с JavaScript, TypeScript, Python, Ruby и Go. На странице сервиса можно посмотреть примеры, выглядит как минимум интересно.
GitHub
GitHub Copilot
AI that builds with you
Вышел Safari Technology Preview 127
В нём исправления и улучшения CSS, скроллинга, медиа, Web API, доступности, рендеринга, оптимизация JS, поддержка Ergonomic Brand Checks (stage 3)
https://webkit.org/blog/11736/release-notes-for-safari-technology-preview-127/
В нём исправления и улучшения CSS, скроллинга, медиа, Web API, доступности, рендеринга, оптимизация JS, поддержка Ergonomic Brand Checks (stage 3)
https://webkit.org/blog/11736/release-notes-for-safari-technology-preview-127/
WebKit
Release Notes for Safari Technology Preview 127
Safari Technology Preview Release 127 is now available for download for macOS Big Sur and betas of macOS Monterey.
Джейк Арчибальд разобрался в особенностях export default и написал об этом хорошую статью «export default thing» is different to «export { thing as default }»
Jakearchibald
`export default thing` is different to `export { thing as default }`
Here's how they differ, and when it matters…