Вебня
4.7K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Опубликованы 4 видео с прошедшей встречи #TC39 с докладами-презентациями новых предложений в ECMAScript от Марка Миллера из компании Agoric. Все эти предложения перешли на stage 1:
- Readonly Collections
- Eventual Send
- Wavy Dot syntax
- OOM Fails Fast
Instance Class Fields (stage 3) проходят очередное ревью в JavaScriptCore.

https://bugs.webkit.org/show_bug.cgi?id=174212#c140

Напомню, что Public Instance Class Fields поддерживаются в Firefox 69+ и Chrome 72+, а Private Instance Class Fields в только в Chrome 74+.
Майлс Боринс рассказывает о своём пропозале Top-level await (stage 3), который уже поддерживается в REPL Chrome, Node.js и Safari:
https://v8.dev/features/top-level-await
Совсем забыл рассказать. Несколько дней назад был открыт репозиторий с исходным кодом грядущего Vue 3.

https://github.com/vuejs/vue-next
Unicode Consortium создали страницу с частотой использования различных emoji. Анализ частоты использования текущих emoji позволяет принять решение о включении новых предложений в стандарт.

https://home.unicode.org/emoji/emoji-frequency/
Как известно, Mozilla собирается добавить в Firefox встроенный VPN. В данный момент он доступен только пользователям США. Сервис предоставляется в партнерстве с Cloudflare. Как выяснилось, согласно private police, Cloudflare собирает IP пользователя и сайта, время запроса и уникальный идентификатор пользователя, который хранится 24 часа или более в случае необходимости. Помимо этого, Mozilla также собирает информацию об устройстве, операционной системе, а также уникальный идентификатор пользователя и другую информацию. Всё это ставит под некоторое сомнение гарантии приватности при использовании Firefox Private Network. В любом случае, это неплохая альтернатива другим бесплатным VPN, у которых с приватность зачастую ещё хуже.

https://restoreprivacy.com/firefox-vpn-private-network/
Вышла новая бета версия браузера Samsung Internet 10.2 Beta. Под капотом теперь Chromium 71 (был 67), а значит добавились такие JS фичи, как:
- разделяемая память
- Array.prototype.flat
- Array.prototype.flatMap
- globalThis
- Symbol.prototype.description
#W3C Immersive Web Working Group опубликовала два новых черновика спецификаций WebXR Augmented Reality Module – Level 1 и WebXR Gamepads Module – Level 1 в статусе First Public Working Draft. Вообще надо заметить, что группа очень активна, и развитие VR и AR в вебе идёт очень быстро.
Интереснейший документ из рассылки V8 прислал @bmsdave (респект). Команда Chrome DevTools предлагает внедрить DevTools Language Servers для анализа и отладки кода. В данный момент для этого везде используются source maps, но они не всегда являются достаточно удобным инструментом (и не очень активно развиваются как стандарт), а также плохо подходят для отладки #WebAssembly. В документе описаны два возможных пути реализации идеи Language Servers.

https://docs.google.com/document/d/1o_oGolGKkcrQP3RcXvU8lxM71OcosK49Wz4E9HVc-Pk/edit#
Ещё один документ с планами развития DevTools Protocol V8 в отношении #WebAssembly — WebAssembly Inspector Interface. Он описывает планы по упрощению этого интерфейса и переноса разных захардкоженных в V8 частей в DevTools Frontend.

https://docs.google.com/document/d/1zi5LLKwWMRdIIWN4Vgyy7RgcM0f4Xi3Ffn27QO1iMGU/edit?ts=5da06e9e#heading=h.gzqdatwcjvhg
Вышла первая бета webpack 5 (а точнее 5.0.0-beta.0). В ней:
- персистентное кэширование
- упрощённое и улучшенное долгосрочное кэширование
- улучшенный tree-shaking
- уменьшенный рантайм
- top-level await (stage 3)
- WebAssembly как асинхронный модуль
- аутпут в модуль
- новый тип модулей - asset

Если решились попробовать, то свой фидбэк можно оставлять здесь:
https://github.com/webpack/webpack/issues/9802
Для тех, кто следит за тем, что творится вокруг — вышел Python 3.8 с кучей новых фич и улучшений:
https://docs.python.org/3.8/whatsnew/3.8.html
В Firefox Nightly 71 была добавлена поддержка Intl.ListFormat (stage 3). Билд с поддержкой этой фичи ещё не вышел, но ожидается сегодня.

https://bugzilla.mozilla.org/show_bug.cgi?id=1433306
Статья в блоге Mozilla Hacks об инструменте web-ext, который позволяет просто и быстро создавать расширения для Firefox и браузеров на основе Chromium, а также поддерживает автоматическую перезагрузку.
Слайды к докладу Implementing one feature set in two JavaScript engines от Caio Lima и Joyee Сheung из Igalia на встрече разработчиков Web Engines Hackfest. В докладе рассказывалось об имплементации Class instance fields, Private methods & accessors и Static class features (все на stage 3) в JavaScript движках JavaScriptCore и V8.
The problems of shared mutable state and how to avoid them — новая статья от Акселя Раушмайера о мутабельных и немутабельных данных и о том, почему мутабельность может быть плохо.