Вебня
4.66K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Ну наконец-то утвердили единственную европейскую встречу #TC39 в этом году. Она пройдёт 17 ноября в Будапеште, хост — IBM. Пока что, кажется, это единственная встреча, на которую я смогу поехать лично.

Между тем, следующая встреча TC39 начнется уже в ближайший вторник. Повестка тут.
В блоге V8 опубликована первая статья из серии о том как научиться понимать спецификацию ECMAScript.

https://v8.dev/blog/understanding-ecmascript-part-1

В первой части рассказывается о разнице типов в языке и типов в спецификации, об абстрактных операциях, внутренних слотах и внутренних методахm о completion records и об ассертах.
Сегодня пройдёт первая в этом году встреча #TC39, на которой я планирую присутствовать удалённо как обычно в качестве приглашённого эксперта и собираюсь эти ближайшие 3 дня транслировать самое важное лайвом. В моём часовом поясе, и скорее всего ваших тоже, это на самом деле не 3 дня, а 3 ночи, поэтому советую временно отключить уведомления в настройках канала, если они будут вам мешать. Начало встречи в 10 утра по гавайскому стандартному времени (перевести в свою таймзону).


А пока приведу немного статистики по странам и количеству обращений (сессий) к сайту Ecma International. Не знаю как именно они считали, предоставляю информацию как есть из документов секритариата TC39.

2018 год
Всего: 870,648
1. 🇺🇸 США - 156,660 (17.99%)
2. 🇨🇳 Китай - 112,396 (12.91%)
3. 🇮🇳 Индия - 57,406 (6.59%)
4. 🇷🇺 Россия - 49,952 (5.74%)
5. 🇯🇵 Япония - 37,124 (4.07%)
6. 🇩🇪 Германия - 35,448 (4.07%)
7. 🇺🇦 Украина - 31,830 (3.66%)
8. 🇬🇧 Соединенное Королевство - 27,483 (3.16%)
9. 🇧🇷 Бразилия - 26,206 (3.01%)
10. 🇫🇷 Франция - 20,488 (2.35%)

2019 год
Всего: 882,932
1. 🇺🇸 США - 167,800 (19.00%)
2. 🇨🇳 Китай - 104,333 (11.82%)
3. 🇮🇳 Индия - 59,777 (6.77%)
4. 🇷🇺 Россия - 56,374 (6.38%)
5. 🇯🇵 Япония - 40,738 (4.61%)
6. 🇩🇪 Германия - 33,983 (3.85%)
7. 🇧🇷 Бразилия - 33,270 (3.77%)
8. 🇺🇦 Украина - 30,883 (3.50%)
9. 🇬🇧 Соединенное Королевство - 24,934 (2.82%)
10. 🇫🇷 Франция - 19,198 (2.17%)
Вышел Chrome 80.

В нём очень много всего. Среди прочего:
- Nullish Coalescing и Optional Chaining Operator (новые ES2020 фичи)
- Наконец-то выпилили Web Components v0, которые собирались убрать в версии 75, а до этого в версии 73, в сумме Google не удавалось убрать их поддержку в течении практически целого года
- добавили Periodic Background Sync
- WebAssembly multi-value (под 🚩)
- SameSite cookies
- SVG favicons
- Contact Picker API вышел из origin trial
- модули в воркерах
- WebVR 1.1 удалён (вместо него WebXR)
- Scroll to Text Fragment

Видео о новом в Chrome 80: https://www.youtube.com/watch?v=lM0qZpxu0Fg
Видео о новом в DevTools Chrome 80: https://www.youtube.com/watch?v=2EiPb1opH3g
Ну что же, у меня первые значимые новости с #TC39. Пока до технических тем не дошли, и сегодня, похоже, не дойдём. Прошли выборы Chair Group.

Новые председатели:
- Aki Brown (PayPal)
- Brian Terlson (Microsoft)
- Rob Palmer (Bloomberg)
- Myles Borins (Google)

Также представлены редакторы спецификации:
- Jordan Harband (Opendoor)
- Shu-yu Guo (Google)
- Michael Ficarra (Shape Security)
- Kevin Gibbons (Shape Security)
Jordan Harband представил доклад о последних изменениях в ECMA262 (спецификация ECMAScript)

https://docs.google.com/presentation/d/1Dme0NQgf-sbiABDY6EjX43oGP-Dou5wobmmeIEBUiak/edit#slide=id.gc6f73a04f_0_0
Нормативные изменения в спецификацию ToInteger normalizes -0 to +0 и Remove steps 2 and 4 from ProxyCreate были приняты единогласно
Новое предложение Async initialization, которое не успели обсудить на декабрьской встрече, переходит на stage 1
Ещё одно предложение, которое не успели в прошлый раз — Decimal. И оно также переходит на stage 1.

Посмотрите слайды и ответьте на вопрос что вы предпочитаете — Decimal128 или BigDecimal.
И ещё одно. Preserve Host Virtualizability также собиралось отправляется на stage 1, но время вышло. Продолжение дискуссии перенесли на следующий день.
Вышел Electron 8.0.0, в котором Chrome обновлён до версии 80, Node.js до 12.13.0.
Из интересного:
- добавлена возможность использования spellchecker из Chrome
- для межпроцессного взаимодействия теперь используется скруктурированное клонирование

https://www.electronjs.org/blog/electron-8-0
Продолжается #TC39. Preserve Host Virtualizability, который не успели дообсудить вчера, отправляется на stage 1.
Caridy Patiño из Salesforce представляет обновление пропозала Realms (stage 2). К сожалению, слайды пока что недоступны. О Realms и смежных пропозалах знают немногие, и я планирую написать о них подробнее в будущем.
Вебня
Caridy Patiño из Salesforce представляет обновление пропозала Realms (stage 2). К сожалению, слайды пока что недоступны. О Realms и смежных пропозалах знают немногие, и я планирую написать о них подробнее в будущем.
Чемпион собирается пытаться взять stage 3 для этого предложения на следующих встречах TC39, для чего были найдены ревьюеры (Michael Ficarra, Shu-yu Guo и Dan Ehrenberg). Да, кстати, ревью — необходимое условие для перехода на stage 3 в соответствии с процессом TC39.
🚀 ECMA402 предложение Unified NumberFormat отправляется на stage 4 и попадет в новую версию спецификации! Фича уже работает в Chrome и Firefox Nightly. Кстати, полифилл доступен вот тут.
Также поделюсь ссылкой на саму спецификацию ECMA402, которую многие (в том числе я) незаслуженно забывают упомянуть (буду исправляться).

https://tc39.es/ecma402/
Richard Gibson из Oracle представил обновления ещё одного ECMA402 предложения, Intl.Segmenter (stage 2). В данный момент переход не stage 3 блокируется незавершённым ревью от Mozilla. На следующей встрече планируется запросить stage 3.