На прошлой неделе я был в гостях у подкаста Фронтенд Юность. Поговорили о #TC39, JavaScript и о пиве. Кажется немного прогнал там местами (ещё сам не слушал), но в целом, надеюсь, должно быть интересно.
https://twitter.com/frontend_u/status/1315392088243154945
https://twitter.com/frontend_u/status/1315392088243154945
Twitter
Фронтенд Юность
В гостях легендарный Сергей Рубанов @chicoxyzzy. За пивком поболтали про TC39, JavaScript и, конечно же, пиво🍻 https://t.co/2u5xTYTPhT
Только что закончилась встреча #WebAssembly Community Group. Из главного:
- у пропозала Relaxed Dead Code Validation, который попал на phase 1 на прошлой встрече, начальное описание, автор представил доклад и собирается представлять его к продвижениею на phase 2 на следующей встрече 27го октября.
- был предложен способ определения поддержки фич в SIMD (слайды)
- у пропозала Relaxed Dead Code Validation, который попал на phase 1 на прошлой встрече, начальное описание, автор представил доклад и собирается представлять его к продвижениею на phase 2 на следующей встрече 27го октября.
- был предложен способ определения поддержки фич в SIMD (слайды)
Бонус: доклад о том, как можно автоматически разбить C++ код на модули для уменьшения времени старта #WebAssembly приложения для веба.
https://soil-initiative.org/seminar/#20201012
https://soil-initiative.org/seminar/#20201012
И ещё немного про #WebAssembly от Cloudflare. Интересные статьи:
- Exploring WebAssembly AI Services on Cloudflare Workers
- Let's build a Cloudflare Worker with WebAssembly and Haskell
- Exploring WebAssembly AI Services on Cloudflare Workers
- Let's build a Cloudflare Worker with WebAssembly and Haskell
Declarative Shadow DOM — способ задать Shadow DOM прямо в HTML, что должно решить проблему веб компонент с серверным рендерингом. Протестировать эту фичу можно в Chrome 85, включив флаг Experimental Web Platform Features. Поддержка по умолчанию будет включена в Chrome 88, который выйдет в начале 2021 года.
Статья: https://web.dev/declarative-shadow-dom/
Explainer: https://github.com/mfreed7/declarative-shadow-dom/blob/master/README.md
Некоторые сотрудники Mozilla выражают свою обеспокоенность тем, как Google пушит эту фичу.
Разработчики WebKit свою позицию не озвучили.
Статья: https://web.dev/declarative-shadow-dom/
Explainer: https://github.com/mfreed7/declarative-shadow-dom/blob/master/README.md
Некоторые сотрудники Mozilla выражают свою обеспокоенность тем, как Google пушит эту фичу.
Разработчики WebKit свою позицию не озвучили.
Chrome for Developers
Declarative Shadow DOM | CSS and UI | Chrome for Developers
Declarative Shadow DOM is a new way to implement and use Shadow DOM directly in HTML.
Если в коде остаются ссылки на окно (или вкладку или iframe) браузера, то после его закрытия возникает утечка памяти. Хотя окно фактически закрыто, браузер не может очистить память до тех пор, пока код ссылается на него. Деврелы Google написали статью том, как отследить такую проблему и о способах её решения.
https://web.dev/detached-window-memory-leaks/
https://web.dev/detached-window-memory-leaks/
web.dev
Detached window memory leaks | Articles | web.dev
Detached windows are a common type of memory leak that is particularly difficult to find and fix.
В конце сентября W3C опубликовал новую версию дорожной карты веб приложений на мобильных устройствах (Roadmap of Web Applications on Mobile). Роадмап включает список спецификаций по группам, а также информацию о поддержке этих спецификаций браузерами.
Сам родмап: https://www.w3.org/2020/09/web-roadmaps/mobile/
Анонс: https://www.w3.org/blog/news/archives/8686
Сам родмап: https://www.w3.org/2020/09/web-roadmaps/mobile/
Анонс: https://www.w3.org/blog/news/archives/8686
JavaScript будет наиболее производительным тогда, когда он наиболее предсказуем. А предсказуем он тогда, когда состояние инлайн кэша мономорфно, то есть структура объектов не изменяется с течением времени (в объекты не добавляются и из них не удаляются поля в течение жизненного цикла объекта). Новый инструмент Indicium — это системный анализатор, который позволяет отследить когда состояние инлайн кэша становится полиморфным (когда создаются несколько map’ов aka hidden class’ов для одного объекта).
https://v8.dev/blog/system-analyzer
https://v8.dev/blog/system-analyzer
v8.dev
Indicium: V8 runtime tracer tool · V8
Indicium: V8 system analyzer tool to analyze Map/IC events.
Вышел npm v7.0.0. Эта версия будет включена по умолчанию в Node.js 15 (которая, к слову, выйдет уже через неделю). Новая версия теперь поддерживает воркспейсы, сильно увеличена скорость
https://blog.npmjs.org/post/631877012766785536/release-v700
npm install, устанавливать пакеты теперь можно из GitHub PR, а также добавились ещё какие-то фичи, которые разработчики предлагают поискать в ченжлогах, начиная с первой беты 😡. Если Вы знаете что ещё там изменилось или добавилось, то пишите в комментарии.https://blog.npmjs.org/post/631877012766785536/release-v700
blog.npmjs.org
npm Blog Archive: Release v7.0.0
npm Blog (Archive); updates from the npm team are now published on the GitHub Blog and the GitHub Changelog
Компания Mozilla запустила дерзкую компанию Unfck the Internet. Призывают бороться с политической рекламой установкой Firefox, посмотерть The Social Dilemma на Netflix, установить расширения Facebook Container (чтобы избавиться от фейсбуковой слежки в интернете) и Flag bad YouTube recommendations (чтобы отучить YouTube предлагать ненужное), а также использовать независимые технологии.
Анонс компании: https://blog.mozilla.org/blog/2020/09/30/the-internet-needs-our-love/
Страница компании: https://www.mozilla.org/en-US/firefox/unfck/
Видос: https://www.youtube.com/watch?v=jeu0oKBThMg
Mozilla, ты пьяна, иди домой.
Анонс компании: https://blog.mozilla.org/blog/2020/09/30/the-internet-needs-our-love/
Страница компании: https://www.mozilla.org/en-US/firefox/unfck/
Видос: https://www.youtube.com/watch?v=jeu0oKBThMg
Mozilla, ты пьяна, иди домой.
The Mozilla Blog
The internet needs our love
It’s noisy out there. We are inundated with sensational headlines every minute, of every day. You almost could make a full-time job of sorting the fun, interesting or useful memes, ...
Chrome Dev Summit 2020 пройдёт онлайн 9-10 декабря.
Запросить инвайт можно тут:
https://developer.chrome.com/devsummit/
Запросить инвайт можно тут:
https://developer.chrome.com/devsummit/
17 ноября выйдет Chrome 87. В DevTools появятся полезные штуки:
- инструменты отладки CSS Grid
- новый таб для отладки WebAuthn
- расположение двух отдельных инструментов сверху и снизу
- обновления панели Elements
- Lighthouse 6.4
- добавлены события
- новые фильтры в панели Network
- обновление деталей о фрейме во вкладке Application
https://developers.google.com/web/updates/2020/10/devtools
- инструменты отладки CSS Grid
- новый таб для отладки WebAuthn
- расположение двух отдельных инструментов сверху и снизу
- обновления панели Elements
- Lighthouse 6.4
- добавлены события
performance.mark() на временной шкале панели Performance- новые фильтры в панели Network
- обновление деталей о фрейме во вкладке Application
https://developers.google.com/web/updates/2020/10/devtools
Chrome Developers
What's New In DevTools (Chrome 87) - Chrome Developers
New CSS Grid debugging tools, Web Authn tab, moveable tools and Computed sidebar pane.
A New Backend for Cranelift, Part 1: Instruction Selection — статья от Chris Fallin из Mozilla.
В ней он рассказывает о том, что такое Cranlift, фреймворк для написания компиляторов в #WebAssembly (и не только). VCode — это новое IR (промежуточное представление), которое является платформозависимым и позволяет генерировать более оптимальный результирующий код.
https://cfallin.org/blog/2020/09/18/cranelift-isel-1/
В ней он рассказывает о том, что такое Cranlift, фреймворк для написания компиляторов в #WebAssembly (и не только). VCode — это новое IR (промежуточное представление), которое является платформозависимым и позволяет генерировать более оптимальный результирующий код.
https://cfallin.org/blog/2020/09/18/cranelift-isel-1/
У пропозала .item() (stage 3) проблема с веб-совместимостью. Видимо придётся менять название.
https://github.com/tc39/proposal-item-method/issues/34
Проблема была обнаружена в Firefox Nightly, где сразу после этого фича была откачена. Также она была убрана и в JavaScriptCore.
https://github.com/tc39/proposal-item-method/issues/34
Проблема была обнаружена в Firefox Nightly, где сразу после этого фича была откачена. Также она была убрана и в JavaScriptCore.
GitHub
GitHub - tc39/proposal-relative-indexing-method: A TC39 proposal to add an .at() method to all the basic indexable classes (Array…
A TC39 proposal to add an .at() method to all the basic indexable classes (Array, String, TypedArray) - GitHub - tc39/proposal-relative-indexing-method: A TC39 proposal to add an .at() method to al...
Вводная статья о том как использовать Rust в вебе (через #WebAssembly) и сравнение с JavaScript.
https://www.jakobmeier.ch/blogging/Rust_on_the_Web.html
https://www.jakobmeier.ch/blogging/Rust_on_the_Web.html
Technology blog
Rust meets the web - a clash of programming paradigms
Technologies in practice
В Chrome появился origin trial WebCodecs. Веб кодеки будут включать декодеры и энкодеры видео, аудио, изображений и получение кадров. Черновик возможного будущего стандарта разрабатывается совместно Google и Mozilla в рамках WICG.
https://web.dev/webcodecs/
https://web.dev/webcodecs/
Chrome Developers
Video processing with WebCodecs - Chrome Developers
Work with components of a video stream, such as frames and unmixed chunks of encoded video or audio.
В Safari 14 (и WebKit) появилась поддержка Face ID и Touch ID через WebAuthn. Подробнее об этом в блоге WebKit.
https://webkit.org/blog/11312/meet-face-id-and-touch-id-for-the-web/
https://webkit.org/blog/11312/meet-face-id-and-touch-id-for-the-web/
WebKit
Meet Face ID and Touch ID for the Web
People often see passwords are the original sin of authentication on the web.
В Playwright от Microsoft появилась поддержка языка Python для автоматизации браузеров.
https://github.com/microsoft/playwright-python
https://github.com/microsoft/playwright-python
GitHub
GitHub - microsoft/playwright-python: Python version of the Playwright testing and automation library.
Python version of the Playwright testing and automation library. - microsoft/playwright-python
Ada Rose Cannon из команды браузера Samsung Internet рассказывает о своём опыте использования Web Audio для VR сцены.
https://medium.com/samsung-internet-dev/audio-on-the-web-for-games-and-vr-efcd523a3d58
Для пространственного звучания используется Resonance Audio SDK для веб.
https://medium.com/samsung-internet-dev/audio-on-the-web-for-games-and-vr-efcd523a3d58
Для пространственного звучания используется Resonance Audio SDK для веб.
Medium
Audio on the Web, for Games and VR!
Tips, tricks and getting started.
W3C WebFonts Worknig Group опубликовала документ Progressive Font Enrichment: Evaluation Report, который представляет собой работу по исследованию различных техник для прогрессивного улучшения шрифтов для более быстрого их отображения в медленных сетях, при больших размеров шрифтов или сложных условий выборки подмножества шрифтов. Комментарии к документу принимаются до 15 декабря.
GitHub
Issues · w3c/PFE-analysis
Code repository for tools for the the testing and analysis of potential Progressive Font Enrichment (PFE) solutions. - Issues · w3c/PFE-analysis