Вебня
4.67K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Есть много чего написать, накопилось со вчера, пока был в перелетах. А сегодня вот собираюсь на React Alicante. Попробую писать что-нибудь в свободные минутки, но вообще сомневаюсь, что что-то из всего этого выйдет. Общение с друзьями, которых приехало на конференцию очень много из разных стран, нетворкинг, возможно доклады, точно море, крепость Санта-Барбара и крафт из соседней Мурсии - это лишь небольшая часть того, что будет отвлекать от ведения канала в ближайшие 2 дня. И вам хорошей пятницы.
Plugnplay.pdf
192.4 KB
В yarn решили внедрить кеширование модулей а-ля pnpm. Это позволит значительно ускорить их установку, избавиться от node_modules за счет использования Node.js резолверов. Whitepaper прилагаю.
Yarn будет генерировать файл .pnp.js, который не имеет внешних зависимостей и тем самым позволит использовать его без npm или yarn. Достаточно будет забутстрапить проект через node -r ./.pnp.js. Обсуждение тут https://github.com/yarnpkg/rfcs/pull/101
Совсем забыл дописать, что npm уже анонсировали аналогичную штуку https://blog.npmjs.org/post/178027064160/next-generation-package-management
Новый пропозал — IDL для ECMAScript
https://github.com/littledan/proposal-idl/blob/master/README.md
Список пропозалов асинхронного DOM
https://github.com/chrishtr/async-dom/blob/master/current-proposals.md

Display Locking, кажется, самый актуальный из всех (и на самом деле лежит вот здесь, ссылка в том списке уже неактуальна). Этот пропозал появился в процессе обсуждения проблем DOMChangeList (также в списке), полифилл которого используется в GlimmerVM и который можно было бы использовать, например, в рендерере Angular, как я это и предложил год назад.
Оказывается пропозал self.queueMicrotask() уже несколько версий как есть в Safari TP.

Сам пропозал: https://github.com/whatwg/html/issues/512

Статусы имплементации:
Chrome: https://bugs.chromium.org/p/chromium/issues/detail?id=864900
WebKit: https://bugs.webkit.org/show_bug.cgi?id=188212
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1480236
Edge: https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/35006017-implement-self-queuemicrotask
В V8 DataView теперь такие же быстрые, как и TypedArray.
https://v8project.blogspot.com/2018/09/dataview.html
Апдейт по class fields и приватным методам
https://docs.google.com/presentation/d/1Q9upYkWnPjJaVc8k9q3U6NekDch8tsz7CgV-Xm55-5Y/edit#slide=id.p
Апдейт по декораторам
https://docs.google.com/presentation/d/1s9bu_Z0vWR9eR4TL_8LEOmIFZvPth9Z8BLcHVqYWf_0/edit#slide=id.p
Оба будут представлены на следующей встрече TC39 через неделю.
Неделю назад я создал опрос про поддержку IE. Кажется можно подвести результаты.
- 58% опрошенных вынуждены поддерживать IE
- из них почти каждый пятый вынужден поддерживать версии IE ниже 11й.

Бросали бы вы это дело.
Кстати, о декораторах. В Babel 7.1 появилась поддержка последней версии предложения в спецификацию. Подробнее в блогпосте
https://babeljs.io/blog/2018/09/17/decorators
W3C Audio Working Group приглашает имплементоров Web Audio API
https://www.w3.org/blog/news/archives/7292
Кстати, по стечению обстоятельств, я прямо сейчас в Берлине на Web Audio Conference 2018
Вероятно это будет интересно не всем, но тут зарелизился LLVM 7.0 (и соответственно LLD 7.0).

> lld/WebAssembly is used as the default (only) linker in Emscripten when using the upstream LLVM compiler.
Это все в одном браузере. 2 контроллера и Web Audio API, весь синтез и эффекты на нем
Также тут есть полноценные браузерные DAW с плагинами, конвертеры VST в WebAssembly WAM (Web Audio Modules) и ещё много всего, пока у вас там формы на реакте тормозят 😬
Если будет не лень, то напишу write up по Web Audio по мотивам конференции. Завтра ещё воркшопы.
В Chrome Canary под флагом добавились public static class fields

class Foo {
static answer = 42;
}


В итоге из всех class fields там остались не заимплеменчены только private static class fields
Появились записи с последнего митинга WebGPU
https://docs.google.com/document/d/1xTxITtZB8Z5YnTrKKi_5IXMvuAfUbqsgKW5Izg71fwQ/edit
Отныне поддержка WebAssembly в LLVM больше не является экспериментальной, теперь это стандартный build target! 🎉
https://reviews.llvm.org/rL342701