Вебня
4.74K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Онлайн конференция Я люблю фронтенд

В эту субботу, 27 февраля, пройдет онлайн конференция Я люблю фронтенд. В программе 6 докладов, 3 воркшопа, а так же подведение итогов турнира Capture the flag (занятное упражнение).
Я (Рома) выступлю с докладом про проблемы большого JSON, по мотивам работы над поточным пасером JSON, о чем писал в своем канале пару месяцев назад.
Для участия нужно зарегистрироваться.
Вышел Safari Technology Preview 121

В нём много улучшений и исправлений CSS свойств aspect-ratio и scroll-*, гридов, много работы над GPU process (основной фокус разработчиков из Apple сейчас), различные исправления медиа, BigInt Typed Arrays, ускоренный JSON.parse, приватные методы за флагом. В #WebAssembly добавлены потоковые компиляция и инстанциирование, Bulk-memory operations и Reference Types включены по умолчанию.

https://webkit.org/blog/11555/release-notes-for-safari-technology-preview-121/
Документация для разработчиков браузеров

Недавно команда WebKit представила обновлённый документ, который описывает с чего начать, если вы хотите сделать свой вклад в разработку браузера — https://github.com/WebKit/WebKit/blob/main/Introduction.md

Оказывается, разработчики Firefox также занимаются новой документацией, и она уже достаточно полная — https://firefox-source-docs.mozilla.org/index.html
Возможное будущее бандлинга JavaScript и других ресурсов

Daniel Ehrenberg из Igalia проводит исследования, которые могут улучшить бандлинг ресурсов в веб.

Первый является stage 0 TC39 пропозалом и называется JavaScript Module Fragments. Он добавляет синтаксис для добавления инлайн модулей внутри JS модуля. Это позволяет убрать лишний оверхед, добавляемый бандлерами.

Второй предложен в рамках WICG и называется Resource bundles. В нём предлагается новый формат бандла, который сможет содержать HTML, CSS, JS, WebAssembly, изображения или другие ассеты одновременно. Такие бандлы помогут убрать оверхед от префетчинга всех ресурсов.
Финализирован список предложений в спецификацию ECMAScript, которые будут пытаться продвинуться на следующий stage на мартовской встрече TC39

Полную повестку встречи можно найти здесь: https://github.com/tc39/agendas/blob/master/2021/03.md

Intl.Segmenter попытается взять stage 4
top-level await попытается взять stage 4
Class static Initialization Blocks попытается взять stage 3
Error Cause попытается взять stage 3
Collection Normalization попытается взять stage 3
Temporal попытается взять stage 3
ResizableArrayBuffer попытается взять stage 3
array-find-from-last попытается взять stage 2
Do expressions попытается взять stage 2
Async do expressions попытается взять stage 2
JavaScript module fragments попытается взять stage 1
Поддержка CSS-in JS в DevTools Chrome

В статье также присутствуют некоторые детали имплементации.

https://developers.google.com/web/updates/2021/02/css-in-js
Что нового в DevTools Chrome 90

Chrome 90 выйдет 13 апреля (а завтра выйдет Chrome 89), и в нём появится много улучшений DevTools:
- новые инструменты отладки CSS flexbox
- Web Vitals оверлей (похожий на FPS meter)
- Обновления таба issues
- экранироавние символов в строках в консоли
- панель Trust Token в Application
- эмуляция CSS color-gamut
- улучшения инструментов PWA
- колонка Remote address space в панели Network
- улучшения производительности (в отдельных случаях до 10 раз!)
- разрешенные и запрещенные фичи в панели Application
- колонка SameParty в панели Cookies

А также пара деприкейтов и экспериментальных фич.

https://developers.google.com/web/updates/2021/02/devtools
Продолжается работа над :focus-visible в WebKit

Уже добавлено несколько патчей и фичу скоро можно будет тестировать. Параллельно было добавлено несколько тестов в WPT и исправлений спецификаций.

https://blogs.igalia.com/mrego/2021/03/01/focus-visible-in-webkit-february-2021/
Вышел Deno 1.8

https://deno.land/posts/v1.8

В новой версии появилась поддержка WebGPU, API интернационализации (Intl), инструментарий проверки покрытия кода тестами, import maps, поддержка загрузки приватных модулей (с токеном аутентификации), TypeScript 4.2 и некоторыми другими улучшениями.
👀 Между тем, вышла альфа Python 3.10 с паттерн-матчингом.

https://docs.python.org/3.10/whatsnew/3.10.html#pep-634-structural-pattern-matching
Вышел Flutter 2

https://developers.googleblog.com/2021/03/announcing-flutter-2.html

https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65

Теперь Flutter имеет поддержку создания веб-приложений, поддержку десктоп-приложений в статусе бета, а также null safety.
Google Chrome планируют перевести на 4х недельный релизный цикл

Такой цикл, по мнению разработчиков, позволит быстрее исправлять критические уязвимости и обкатывать новые фичи, а также ускорит переход пользователей на основную (последнюю) версию.
Первым таким релизом должен стать Chrome 94, который выйдет 21 сентября (вместо 12 октября, как было бы с текущим 6ти недельным циклом).

https://developer.chrome.com/blog/faster-release-cycle/
Друзья, я был в микроотпуске, и в ближайшие дни буду постить всё, что произошло за эту неделю, включая пленарное заседание #TC39, которое проходило во вторник и среду.
Bocoup об улучшениях Test262 — официального набора тестов соответствия имплементаций спецификации JavaScript

В статье рассказывается о работе по обновлению тестов, нескольких найденных багах, отсутствующих тестах.

https://bocoup.com/blog/test262-inside-out