Вебня
4.65K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Также не так давно выпустили Angular 7, в котором увеличена производительность, обновлен Material UI, улучшена доступность, работа с веб-компонентами и добавлены некоторые другие улучшения.
Еще одна новость с React Conf — Facebook работает над тем, чтобы сделать из “React Native” просто “Native”, чтобы другие фреймворки и библиотеки могли работать поверх нативной части.
Некоторые новости с #TPAC

#Houdini Working Group достигла консенсуса по добавлению возможности анимации кастомных свойств декларативно и без JS

Mozilla показала свою рабочую имплементацию кастомизации скроллбаров.

Транспортный протокол QUIC от Google был предложен как потенциальное расширение спецификации WebRTC.

ARIA WG обсуждали улучшения Accessibility Object Model, про которую при этом почему-то почти ничего нет в черновике телеконференции. Также там нет и про коллаборацию с MathOnWeb CG, которые очень хотели обсудить с ARIA WG доступность математических формул в вебе.
Несколько презентаций с #TPAC по #WebAssembly
- Host Bindings от Luke Wagner
- WebAssembly/ECMAScript Module integration от Daniel Ehrenberg
Новости с #TPAC про #WebAssembly:
- Tail calls перешли на stage 3
- C/C++ API перешел на stage 1
- Bulk Memory Operations перешли на stage 2
- Threads перешли на stage 2

Все апдейты уже на https://github.com/WebAssembly/proposals
Помните такой пропозал как Typed Objects? Не все знают, но он все еще жив (хотя и помечен как inactive), и его актуальная версия находится вот тут. Текущий статус пропозала звучит так: “Postponed: waiting for WebAssembly requirements to become clearer.”
Статья #WebAssembly Threads ready to try in Chrome 70, в которой приводится пример как скомпилировать С++ код с pthreads в WebAssembly в WebWorker’ах с разделяемой памятью
https://developers.google.com/web/updates/2018/10/wasm-threads
Деструктуризация массивов имеет некоторые проблемы с производительностью из-за необходимости использовать Iteration protocol. Бенедикт Мойер написал об этом статью в свете React хуков.
https://docs.google.com/document/d/1hWb-lQW4NSG9yRpyyiAA_9Ktytd5lypLnVLhPX9vamE/edit
Потенциальное решение — спекулятивные оптимизации. Движок должен понять, что в каком-то конкретном случае Array.prototype[Symbol.iterator] никак не используется и пропустить лишние машинные операции.
Array.prototype.sort теперь стабильная во всех основных движках (теперь и ChakraCore, в которой до недавнего времени сортировка была стабильной только для массивов длиной не выше 512 элементов). На предстоящей встрече #TC39 с докладом об этом выступит Mathias Bynens. Вот слайды
https://docs.google.com/presentation/d/1Io53b2Bi3_N0_wguWoA9OKuPRpHch34EVbS1H8zISes/edit
Публичные и приватные поля классов близки к добавлению в JavaScriptCore. Уже готовы патчи, реализующие необходимую логику парсера, байткод и тесты, а также будет отдельно патч с изменениями JIT/DFG (и одно, и другое уже есть в git репозитории).
Svelte завели репозиторий с RFC. Первый из них называется Reactive Assignments и добавляет реактивность в Svelte на уровне языка.
Еще одна тема, которая будет обсуждаться на ноябрьской встрече #TC39обновления по декораторам. На каринке слайд-спойлер про возможное ближайшее будущее.
Стандарт Unicode 12.0 перешел в фазу бета тестирования. Релиз планируется на 5 марта 2019. Совсем черновой вариант обзора можно почитать вот тут:
https://unicode.org/versions/beta-12.0.0.html
Спецификация CSS Selectors level 3 стала Candidade Recommendation.
Добавили новый комбинатор ~, новые псевдоклассы, substring matching attribute selectors, обновили граматику. Полный список изменений тут. Большинство этих фич уже есть во всех браузерах.
Собрал немного информации по имплементации сборщика мусора #WebAssembly в браузерах

https://github.com/WebAssembly/gc/issues/44#issuecomment-436433194
Я еще об этом не писал, но тут появился хороший повод. На ближайшей встрече #TC39 будут обсуждать JS outreach groups, представленные делегатами TC39 и приглашенными экспертами. Генеральный секретарь Ecma International доктор Istvan Sebestyen предложил сделать группы официальной частью Ecma. А хороший повод в том, что Daniel Ehrenberg (тот что TC39 chair) сегодня пригласил меня, как активного представителя коммьюнити, участвовать во встречах Educators Group. Ближайшая встреча Educators Group пройдет завтра.