Вебня
4.67K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Вебня pinned «Результаты 79 встречи TC39 (16 - 19 ноября) Лучше поздно, чем никогда. Общие результаты ноябрьской встречи. Стенограммы на английском опубликованы тут. 🐥 Error Cause переходит на stage 2 (слайды) 🐣 новое предложение JS Module Blocks переходит на stage 1…»
В Wasmtime реализована поддержка wasi-nn

Есть множество кейсов для использования #WebAssembly для машинного обучения, но при этом надо решить несколько проблем. Wasi-nn создаёт высокоуровневый API для доступа к возможностям хоста по использованию специфических инструкций центрального и графического процессоров. В Wasmtime в качестве бекенда для wasm-nn используется OpenVINO.

В блоге Bytecode Alliance опубликованы две статьи, посвящённые этому:
- Machine Learning in WebAssembly: Using wasi-nn in Wasmtime
- Implementing a WASI Proposal in Wasmtime: wasi-nn
Рабочая группа WebGPU планирует дорожную карту проектирования спецификации

Для того, чтобы определить, что будет включено в версию спецификации v1, был опубликован документ, в котором члены рабочей группы отмечают какие из фич они хотели бы видеть в первой или последующих версиях.
Oriol Brufau рассказал о том, как добавлял поддержку псевдо-элемента ::marker в Chromium

Поддержка фичи появилась в Chromium 86. В других браузерах ::marker уже успешно работает. В статье описываются технические особенности реализации фичи в движке Blink.
Состоялся релиз Ruby 3.0

В языке появилось много значительных улучшений. Ruby 3.0 с использованием JIT в 3 раза быстрее, чем Ruby 2.0. Помимо этого появилась поддержка параллелизма (Ractor — экспериментальная модель акторов на уровне языка, Fiber Scheduler), паттерн-матчинг и статический анализ (RBS — язык описания типов, TypeProf — инструмент для статического анализа) и другие, менее значимые, но интересные изменения.

https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
W3C опубликовал CSS Snapshot 2020

В нём собраны воедино все спецификации, которые вместе формируют текущее состояние CSS по состоянию на 2020 год.

https://www.w3.org/TR/2020/NOTE-css-2020-20201222/#css
Вебня pinned «W3C опубликовал CSS Snapshot 2020 В нём собраны воедино все спецификации, которые вместе формируют текущее состояние CSS по состоянию на 2020 год. https://www.w3.org/TR/2020/NOTE-css-2020-20201222/#css»
Декабрьские релизы спецификаций от W3C

- Web Authentication: An API for accessing Public Key Credentials Level 2 (Candidate Recommendation)
- CSS Text Module Level 3 (Candidate Recommendation)
- CSS Box Model Module Level 3 (Candidate Recommendation)
- CSS Backgrounds and Borders Module Level 3 (Candidate Recommendation)
- CSS Cascading and Inheritance Level 3 (Proposed Recommendation)

А также совместная работа W3C и WHATWG — HTML Review Draft (Proposed Recommendation)
Сегодня прощаемся с Flash Player

Adobe больше не будет поддерживать Flash Player после 31 декабря 2020 года, а также будет блокировать запуск Flash-содержимого в Flash Player с 12 января 2021 года. Кстати, если вдруг кто-то не знал, то ActionScript 2.0+ был частичной имплементацией так и не выпущенной спецификации ECMAScript 4.

https://www.adobe.com/products/flashplayer/end-of-life.html
Команда React представила своё исследование серверных компонентов

Скорее всего Вы уже в курсе, но я на всякий случай расскажу об этом. Серверные компоненты — это новый тип компонентов React, которые имеют прямой доступ к данным бекенда и не отправляются в составе бандла на клиент. Они также могут быть sharable (одновременно клиентскими и серверными), позволяют автоматически разделять код на чанки. Обмен данными происходит в специальном компактном формате (представляющем JSX). Для реализации данного подхода был разработан экспериментальный плагин для Webpack. Дальнейшая разработка будет вестись совместно усилиями команд React и Next.js.

Запись в блоге React и видео: https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html

Статья Addy Osmani из Google о серверных компонентах в React: https://addyosmani.com/blog/react-server-components/

Черновик RFC: https://github.com/josephsavona/rfcs/blob/server-components/text/0000-server-components.md
Выложен полный плейлист со всеми видео недавней онлайн конференции #WebAssembly Live! On Air

https://www.youtube.com/playlist?list=PL6TuxoG36L8lwmNrlIqGBXwlh1ejfk8xJ
Авторы State of CSS опубликовали The State of CSS 2020 Trend Report

В отчёте отражены три основных тренда в CSS: CSS фреймворки, CSS-in-JS фреймворки и новые фичи в самом CSS.

Полные результаты State of CSS: https://2020.stateofcss.com/en-US/
Source Map Visualization

Новый инструмент для отладки Source Map от Evan Wallace (автор esbuild). Его отличительная черта, что спроектирован быть высокопроизводительным, так что отладка огромных карт кода становится возможной. Работает действительно быстро.
Ценителям стоит заглянуть в репозиторий, потому что вся имплементация это по одному файлу на HTML, JavaScript и CSS. Проект не использует зависимостей, то есть каких либо фреймворков или сборщиков, что нетипично для современного фронтенда. При этом весь JS это ~1200 sloc или 48kb. Ключевая часть интерфейса (две скролируемые области с текстом и связи между фрагментами) реализована на canvas.
Движок ChakraCore окончательно передан коммьюнити

JavaScript движок ChakraCore, который ранее использовался в браузере Edge Legacy (Edge до миграции на Chromium), окончательно передан коммьюнити. Microsoft будет предоставлять обновления безопасности для ветки 1.11 до 9 марта 2021.

Репозиторий движка теперь находится тут: https://github.com/chakra-core/ChakraCore

Проект нуждается в контрибьюторах. Исходный код движка очень хорошо структурирован и отлично подходит для изучения работы виртуальных машин. А добавление какой-нибудь фичи идеально подойдёт в качестве дипломного проекта 😉
Присоединиться к разработке можно через issues на GitHub или чат в Discord.
Состоялся релиз Wasmer 1.0

Wasmer — это рантайм для исполнения #WebAssembly на сервере. В версии 1.0 значительно увеличена скорость компиляции, а также появилось несколько новых фич.

https://medium.com/wasmer/wasmer-1-0-3f86ca18c043
Вышел Safari Technology Preview 118

Список изменений в этот раз снова не содержит некоторые из них, но может дать примерную общую картину. На самом деле там как минимум ещё очень много изменений в JavaScriptCore, включая улучшенную совместимость ECMAScript, частичную поддержку #WebAssembly Bulk Memory Operations и Reference Types.

https://webkit.org/blog/11439/release-notes-for-safari-technology-preview-118/
Кодовая база WebKit теперь хранится на GitHub

Ранее на GitHub уже было зеркало git-репозитория WebKit, но теперь это полноценный репозиторий. Ишью и пулл реквесты пока что не получится использовать, но в течение нескольких месяцев они также станут доступны. Пока что для заведения багов всё ещё используется Bugzilla. WebKit стал первым из самых распространённых браузеров, чьи исходники полностью и официально размещены на GitHub.

https://github.com/WebKit/WebKit
Fastly включили поддержку QUIC и HTTP/3

В данный момент их поддержка работает в Chrome, Safari 14 на Big Sur, а также находится за флагом в Firefox.

https://www.fastly.com/blog/debugging-quic-with-h2o-and-qlog
Front-End Performance Checklist 2021

Smashing Magazine выпустили очень большой и подробный гайд о том, как увеличить производительность сайта. Он охватывает всевозможные метрики, сборщики, оптимизацию ассетов, CDN, HTTP/2 и HTTP/3, и много всего другого.

https://www.smashingmagazine.com/2021/01/front-end-performance-2021-free-pdf-checklist/
В Firefox Nightly появилась частичная поддержка Chrome DevTools Protocol

Благодаря частичной поддержке CDP, теперь можно использовать средства автоматизации Puppeteer и Selenium 4 для управления Firefox, а также удалённую отладку.

https://hacks.mozilla.org/2021/01/improving-cross-browser-testing-part-2-new-automation-features-in-firefox-nightly/