Вебня – Telegram
Вебня
4.67K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Еще раз напоминаю, что сегодня состоится релиз Chrome 69 с новым дизайном Material. Из интересных новых фич добавятся:
- Array.prototype.flat и Array.prototype.flatmap (эта же фича приедет с завтрашним релизом Firefox 62, а 12го сентября и с релизом Safari 12)
- CSS Scroll Snap Points, которая совсем недавно стала кандидатом в рекомендации, позволяет выбрать нужные точки остановки, которые улучшат пользовательский опыт как при скролле, так и при программном Element.scrollTo()
- CSS conic-gradient (примеры, например, вот тут)
- Cookie Store API предоставляет асинхронный интерфейс для работы с куками, а также работает в сервис воркере
- ReportingObserver позволит перехватывать сообщения о том, как код работает на машинах пользователей, а также получать deprecation warnings, которые раньше были доступны только в консоли, для того, чтобы, например, слать их на сервер
- ES модули для воркеров (добавятся под флагом) позволят использовать импорты в контекстах воркеров и шарить модули между воркерами и страницами.
- OffscreenCanvas позволит использовать rendering context в воркерах, что позволит увеличить параллелизм. Также это добавляет requestAnimationFrame в DedicatedWorkers, как того требует спецификация от WHATWG
- У элементов <video> добавится функция Picture-in-Picture (аналогично тому, как это работает в Сафари)
- Web Locks API, о котором я уже писал

Ссылки на предварительный анонс от команды Хрома и на полный список фич Хрома 69 на сайте статуса платформы я уже публиковал тут.
Релизы других браузеров:
- 5 сентября Firefox 62
- 12 сентября Safari 12
- ? октября Edge 18
Менее чем через 40 минут начнется очередная встреча WebAssembly Community Group. Сегодня в повестке дня только одна тема — WebAssembly C/C++ API.
Хром 69 приехал
Сегодня ночью были обновлены рабочие черновики WebAssembly. Спецификации уже довольно близки к Candidate Recommendation.

WebAssembly Core Specification:
https://www.w3.org/TR/2018/WD-wasm-core-1-20180904/

WebAssembly JavaScript Interface:
https://www.w3.org/TR/2018/WD-wasm-js-api-1-20180904/

WebAssembly Web API:
https://www.w3.org/TR/2018/WD-wasm-web-api-1-20180904/
Firefox 62 тоже зарелизился

Добавили следующие EcmaScript пропозалы:
- flat/flatMap
- import.meta
- JSON superset

Остальные изменения здесь.
Завтра 6 сентября в 9:00 GMT пройдет телеконференция от W3C WAI Accessibility Guidelines Working Group, на которой расскажут о том, как контрибьютить в Web Content Accessibility Guidelines.
https://twitter.com/w3c_wai/status/1037337712225918980
В Хроме собираются заимплементить ElementTiming API для элементов <img>. Он позволит узнать когда изображение становится видимым на экране.
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/2twP4Xdd1VI/yFE1pbwVBgAJ
В последнем абзаце explaner’а также говорится о возможном расширении API на другие типы элементов в будущем.
В свежайшей версии Safari Technical Preview под номером 65 помимо всего прочего, появилась поддержка Object.fromEntries, причем об этом забыли упомянуть в релизных записях. На данный момент поддержка этой stage 3 фичи не доехала лишь в V8.
Судя по только что закончившей презентации от Apple, новый Safari выйдет только через неделю (а точнее 17 сентября в случае iOS). Посмотреть все новые фичи ECMAScript, которые в него добавят, уже в любом случае можно в таблице совместимости, одним из мейнтейнеров которой я являюсь, внимательно за ними слежу и прилежно добавляю в нее.
9 января 2018 закончилась основная поддержка Internet Explorer 11 со стороны Microsoft. Расширенная поддержка будет продолжаться до 10 января 2023. Конец продаж PC с предустановленной Windows 8.1 закончилась 31 октября 2016. Вы все еще поддерживаете IE?
anonymous poll

Да, поддерживаем IE 11 – 195
👍👍👍👍👍👍👍 47%

Нет, не поддерживаем IE 11 – 170
👍👍👍👍👍👍 41%

Да, поддерживаем IE < 11 – 46
👍👍 11%

👥 411 people voted so far.
Есть много чего написать, накопилось со вчера, пока был в перелетах. А сегодня вот собираюсь на 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й.

Бросали бы вы это дело.