Bocoup выпустили Web Platform Contribution Guide, руководство для желающих погрузиться в спецификации и недры браузеров.
Анонс руководства: https://bocoup.com/blog/introducing-the-web-platform-contribution-guide
Отличное чтиво, советую сохранить в закладки сразу после того, как досмотрите запуск SpaceX Crew Dragon 😉
Анонс руководства: https://bocoup.com/blog/introducing-the-web-platform-contribution-guide
Отличное чтиво, советую сохранить в закладки сразу после того, как досмотрите запуск SpaceX Crew Dragon 😉
Bocoup
A Worker-Owned Tech Consultancy - Bocoup
Web Platform Consulting Services
Для создания тачскрин интерфейсов в SpaceX Crew Dragon используются Chromium и JavaScript.
https://twitter.com/alteredq/status/1266853705632145409
https://twitter.com/alteredq/status/1266853705632145409
Twitter
AlteredQualia
Seems SpaceX Crew Dragon touchscreen UI actually runs on Chromium + JavaScript: old.reddit.com/r/spacex/comme… + space.stackexchange.com/a/9446
JetBrains выпустили официальный плагин для разработки на Deno для своих IDE.
https://plugins.jetbrains.com/plugin/14382-deno
https://plugins.jetbrains.com/plugin/14382-deno
JetBrains Marketplace
Deno - IntelliJ IDEs Plugin | Marketplace
Adds support for Deno in WebStorm and other JetBrains IDEs, including PhpStorm, and IntelliJ IDEA Ultimate. To learn more about how to get started with Deno, check out...
Я Серёжа Рубанов, приглашённый эксперт #TC39 (комитета, занимающегося разработкой ECMAScript) и основатель канала @juliarderity.
Сегодня начигается 76я встреча TC39, которая станет второй полностью удалённой. В этот раз встреча будет длиться 4 дня по 5 часов вместо 2 дней по 7 часов и заключительного 6-часового.
Повестка очень интересная! Я уже писал обо всех пропозалах, которые готовятся к продвижению на следующий стейдж. С этой публикацией можно ознакомиться вот тут.
Как всегда буду рассказывать всё самое интересное в этом канале. Если что-то невероятно интересное или важное то сразу же лайвом, а также буду публиковать результаты каждого дня ближе к ночи или утром следующего дня.
Время проведения встреч — 15:00 - 20:00 UTC, для большинства читателей это будет 18:00 - 23:00 (по Москве, Киеву, Минску).
Мне будет приятно если Вы поделитесь этой записью в своих каналах или в сообществах, участникам которых это может быть интересно. Ещё можно поддержать на Patreon.
Сегодня начигается 76я встреча TC39, которая станет второй полностью удалённой. В этот раз встреча будет длиться 4 дня по 5 часов вместо 2 дней по 7 часов и заключительного 6-часового.
Повестка очень интересная! Я уже писал обо всех пропозалах, которые готовятся к продвижению на следующий стейдж. С этой публикацией можно ознакомиться вот тут.
Как всегда буду рассказывать всё самое интересное в этом канале. Если что-то невероятно интересное или важное то сразу же лайвом, а также буду публиковать результаты каждого дня ближе к ночи или утром следующего дня.
Время проведения встреч — 15:00 - 20:00 UTC, для большинства читателей это будет 18:00 - 23:00 (по Москве, Киеву, Минску).
Мне будет приятно если Вы поделитесь этой записью в своих каналах или в сообществах, участникам которых это может быть интересно. Ещё можно поддержать на Patreon.
Сегодня Генеральная Ассамблея Ecma Interantional должна одобрить спецификации ECMA262 — ECMAScript® 2020 Language Specification и ECMA402 — ECMAScript® 2020 Internationalization API Specification.
Это чисто бюрократический нюанс, но всё же достаточно важное событие, после которого можно считать версии 2020 года этих стандартов официальными.
Напомню что нового в них добавилось.
ES2020:
- import() для динамической подгрузки модулей во время исполнения
- новый тип BigInt для целых чисел произвольной точности
- Promise.allSettled — возвращает промис с массивом удачных и неудачных завершений после того, как все оригинальные промисы исполнятся
- globalThis — глобальное значение this, доступное из скриптов, модулей, воркеров
- стандартизированная очерёдность циклов for-in
- optional chaining aka ?.
- nullish coalescing aka ??
- import.meta
ECMA402 2020:
- Intl.RelativeFormat
- Intl.NumberFormat Unified API
- Intl.Locale
Это чисто бюрократический нюанс, но всё же достаточно важное событие, после которого можно считать версии 2020 года этих стандартов официальными.
Напомню что нового в них добавилось.
ES2020:
- import() для динамической подгрузки модулей во время исполнения
- новый тип BigInt для целых чисел произвольной точности
- Promise.allSettled — возвращает промис с массивом удачных и неудачных завершений после того, как все оригинальные промисы исполнятся
- globalThis — глобальное значение this, доступное из скриптов, модулей, воркеров
- стандартизированная очерёдность циклов for-in
- optional chaining aka ?.
- nullish coalescing aka ??
- import.meta
ECMA402 2020:
- Intl.RelativeFormat
- Intl.NumberFormat Unified API
- Intl.Locale
Некоторые обновления из разных презентаций по работе комитета, и общим темам:
- я немного перепутал даты встречи Генеральной Ассамблеи, это произойдёт 16-17 июня.
- 77я встреча (21-24 июля) также будет удалённой (сентябрьская и ноябрьская встречи скорее всего тоже)
- в 2021 году планируется кардинально поменять календарь и форматы проведения встреч: будет 4 ежеквартальных трёхдневных оффлайновых встречи (с фоллбеком на 4-дневные онлайновые), а также ежемесячные двухдневные трехчасовые встречи (в двух разных таймзонах)
Сейчас идут презентации с нормативными и редакционными обновлениями спецификаций. Слайды я потом обязательно приложу.
- я немного перепутал даты встречи Генеральной Ассамблеи, это произойдёт 16-17 июня.
- 77я встреча (21-24 июля) также будет удалённой (сентябрьская и ноябрьская встречи скорее всего тоже)
- в 2021 году планируется кардинально поменять календарь и форматы проведения встреч: будет 4 ежеквартальных трёхдневных оффлайновых встречи (с фоллбеком на 4-дневные онлайновые), а также ежемесячные двухдневные трехчасовые встречи (в двух разных таймзонах)
Сейчас идут презентации с нормативными и редакционными обновлениями спецификаций. Слайды я потом обязательно приложу.
⚡️ Do expressions не переходят на stage 2. После обсуждения презентации чемпион решил проработать нерешённые вопросы и пока оставить пропозал на stage 1.
GitHub
GitHub - tc39/proposal-do-expressions: Proposal for `do` expressions
Proposal for `do` expressions. Contribute to tc39/proposal-do-expressions development by creating an account on GitHub.
Первый день июньской встречи #TC39 окончен. Ниже представлен список презентаций во временном порядке с ссылкой на слайды (если есть) и комментариями.
Планирование встреч TC39
Слайды: https://docs.google.com/presentation/d/1NyD7mS7qFXUPVWtUhCsR7gPGEZJKCRwznx4a6efz9yU
До конца этого года встречи скорее всего будут удаленными, в те же даты, что и были запланированы оффлайновые встречи, но 4 дня по 5 часов вместо 2 дней по 7 часов + заключительного дня 6 часов. На 2021 год планируется совсем новый график:
- 4 оффлайновые встречи в традиционном трёхдневном формате (с фоллбеком на четырёхдневный удалённый)
- 8 ежемесячных удалённых встреч по 2 дня и 3 часа в течение дня (кроме месяцев, когда проходят квартальные встречи)
Отчёт секретариата Ecma International
Слайды: https://github.com/tc39/agendas/blob/master/2020/06.tc39-2020-06-slides_Istvan.pdf
Встреча Генеральной Ассамблеи, на которой должны официально одобрить ES2020 и ECMA402 2020, пройдёт 16-17 июня. Стандарты TC39 по-прежнему самые скачиваемые с сайта Ecma (около половины загрузок, при том, что теперь есть tc39.es, куда рекомендуется ходить за свежайшей версией спецификации).
Обновления ECMA262 (JavaScript)
Слайды: https://docs.google.com/presentation/d/1PxrkXXrtgnTgE14k8WnuKtjjyNDJ9ce15ZL_uvl-P9U
В слайдах много ссылок на редакционные и нормативные изменения.
Обновление ECMA402 (Intl API)
Слайды: https://docs.google.com/presentation/d/1leorSs4oYKFh7WYxoR5H2YtYANM8YgYpGQuEW1jMFBc
В слайдах ссылки на PR в спеку и на активные пропозалы от 3 до 0 стейджей.
Обновление Test262
Слайды: <отсутствуют>
Всё хорошо, работа кипит.
Нормативное изменение: Promise.{all,allSettled,race} should check "resolve" before iterating
Слайды: <отсутствуют>
Достигнут консенсус.
Пропозал Ergonomic brand checks for Private Fields (stage 1 -> stage 2)
Слайды: <не опубликованы>
Переходит на stage 2
Пропозал Logical Assignment (stage 3 обновление)
Слайды: <не опубликованы>
Работает в V8 8.5 (Chromium 85 Canary) и JavaScriptCore (Safari Technology Preview) без флага, в SpiderMonkey (Firefox 77 Beta) под флагом. Решается последний корнер кейс и если всё хорошо, то в июле пропозал будет запрашивать stage 4
Пропозал: Iterator Helpers (stage 2 обновление)
Слайды: https://docs.google.com/presentation/d/1QVW_d4lpiFQ5X5czGWq0VMRN9cMLIGpt888TQoyFWpg
Было предложено три варианта реализации, из которых ни один не получил консенсуса. Как только какой-то из вариантов будет выбран, пропозал будет пытаться брать stage 3.
Пропозал: Do Expressions (stage 1 -> stage 2)
Слайды: https://docs.google.com/presentation/d/14UYf30NeOd5TFZ4QJFigwBLZVotOwuQq3E-BCMIhGgk
Было представлено несколько сложных кейсов, по которым мнения разошлись. Остаётся на stage 1.
Пропозал: Records & Tuples (stage 1 обновление)
Слайды: https://button.dev/talks/record-and-tuple-tc39-june-2020.pdf
Основные вопросы по синтаксису решены, у делегатов возникли разногласия по семантике сравнения. Пропозал собирался подавать на stage 2 на июльской встрече, но пока не понятно сможет ли. Кажется из-за этого может затянуться.
Планирование встреч TC39
Слайды: https://docs.google.com/presentation/d/1NyD7mS7qFXUPVWtUhCsR7gPGEZJKCRwznx4a6efz9yU
До конца этого года встречи скорее всего будут удаленными, в те же даты, что и были запланированы оффлайновые встречи, но 4 дня по 5 часов вместо 2 дней по 7 часов + заключительного дня 6 часов. На 2021 год планируется совсем новый график:
- 4 оффлайновые встречи в традиционном трёхдневном формате (с фоллбеком на четырёхдневный удалённый)
- 8 ежемесячных удалённых встреч по 2 дня и 3 часа в течение дня (кроме месяцев, когда проходят квартальные встречи)
Отчёт секретариата Ecma International
Слайды: https://github.com/tc39/agendas/blob/master/2020/06.tc39-2020-06-slides_Istvan.pdf
Встреча Генеральной Ассамблеи, на которой должны официально одобрить ES2020 и ECMA402 2020, пройдёт 16-17 июня. Стандарты TC39 по-прежнему самые скачиваемые с сайта Ecma (около половины загрузок, при том, что теперь есть tc39.es, куда рекомендуется ходить за свежайшей версией спецификации).
Обновления ECMA262 (JavaScript)
Слайды: https://docs.google.com/presentation/d/1PxrkXXrtgnTgE14k8WnuKtjjyNDJ9ce15ZL_uvl-P9U
В слайдах много ссылок на редакционные и нормативные изменения.
Обновление ECMA402 (Intl API)
Слайды: https://docs.google.com/presentation/d/1leorSs4oYKFh7WYxoR5H2YtYANM8YgYpGQuEW1jMFBc
В слайдах ссылки на PR в спеку и на активные пропозалы от 3 до 0 стейджей.
Обновление Test262
Слайды: <отсутствуют>
Всё хорошо, работа кипит.
Нормативное изменение: Promise.{all,allSettled,race} should check "resolve" before iterating
Слайды: <отсутствуют>
Достигнут консенсус.
Пропозал Ergonomic brand checks for Private Fields (stage 1 -> stage 2)
Слайды: <не опубликованы>
Переходит на stage 2
Пропозал Logical Assignment (stage 3 обновление)
Слайды: <не опубликованы>
Работает в V8 8.5 (Chromium 85 Canary) и JavaScriptCore (Safari Technology Preview) без флага, в SpiderMonkey (Firefox 77 Beta) под флагом. Решается последний корнер кейс и если всё хорошо, то в июле пропозал будет запрашивать stage 4
Пропозал: Iterator Helpers (stage 2 обновление)
Слайды: https://docs.google.com/presentation/d/1QVW_d4lpiFQ5X5czGWq0VMRN9cMLIGpt888TQoyFWpg
Было предложено три варианта реализации, из которых ни один не получил консенсуса. Как только какой-то из вариантов будет выбран, пропозал будет пытаться брать stage 3.
Пропозал: Do Expressions (stage 1 -> stage 2)
Слайды: https://docs.google.com/presentation/d/14UYf30NeOd5TFZ4QJFigwBLZVotOwuQq3E-BCMIhGgk
Было представлено несколько сложных кейсов, по которым мнения разошлись. Остаётся на stage 1.
Пропозал: Records & Tuples (stage 1 обновление)
Слайды: https://button.dev/talks/record-and-tuple-tc39-june-2020.pdf
Основные вопросы по синтаксису решены, у делегатов возникли разногласия по семантике сравнения. Пропозал собирался подавать на stage 2 на июльской встрече, но пока не понятно сможет ли. Кажется из-за этого может затянуться.
Вышел браузер Samsung Internet 12 Beta. Этот релиз основан на Chromium 79 и добавляет CSS.registerProperty, Clipboard API, LayoutShift API, SVG favicon. Обещают, что в Internet 12.1 добавится поддержка дополненной реальности в WebXR.
Кроме того, среди новых фич, не указанных в статье:
- Payment Request API
- CSS Backdrop filter
- CSS функции
- атрибут
- Promise.allSettled (ES2020)
Кроме того, среди новых фич, не указанных в статье:
- Payment Request API
- CSS Backdrop filter
- CSS функции
min(), max(), clamp()- атрибут
lazy для изображений и iframe-ов- Promise.allSettled (ES2020)
Medium
Samsung Internet 12.0
Try it now in Beta
⚡️ В самом начале второго дня #TC39 String.prototype.replaceAll переходит на stage 4, а значит станет первым пропозалом, попавшим в ES2021!
GitHub
GitHub - tc39/proposal-string-replaceall: ECMAScript proposal: String.prototype.replaceAll
ECMAScript proposal: String.prototype.replaceAll. Contribute to tc39/proposal-string-replaceall development by creating an account on GitHub.
Вышел Firefox 77. В нём:
- Много улучшений DevTools
- String.prototype.replaceAll, который только что перешёл на stage 4
- IDBCursor.request
Список изменений для разработчиков: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/77
Список изменений для конечных пользователей: https://www.mozilla.org/en-US/firefox/77.0/releasenotes/
- Много улучшений DevTools
- String.prototype.replaceAll, который только что перешёл на stage 4
- IDBCursor.request
Список изменений для разработчиков: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/77
Список изменений для конечных пользователей: https://www.mozilla.org/en-US/firefox/77.0/releasenotes/
Mozilla Hacks – the Web developer blog
New in Firefox 77: DevTool improvements and web platform updates
Firefox 77 is now available with a variety of developer tool updates and new web platform features. With your feedback, we've removed performance bottlenecks, resulting in faster, leaner JavaScript debugging. ...
⚡️ Function implementation hiding был разделён на два новых пропозала — сокрытие имплементации функции и сокрытие Error.prototype.stack (который, кстати, не является частью стандарта). Чемпион запросил stage 3 для директивы сокрытия имплементации и дальнейшей работы над вторым пропозалом в stage 2. Первый пропозал встретил сопротивление имплементоров движков со стороны Mozilla и Apple, так что оба остаются на stage 2.
GitHub
GitHub - tc39/proposal-function-implementation-hiding: JavaScript language proposal: function implementation hiding
JavaScript language proposal: function implementation hiding - tc39/proposal-function-implementation-hiding
⚡️ Intl.NumberFormat V3 переходит на stage 2
GitHub
GitHub - tc39/proposal-intl-numberformat-v3: Additional features for Intl.NumberFormat to solve key pain points.
Additional features for Intl.NumberFormat to solve key pain points. - GitHub - tc39/proposal-intl-numberformat-v3: Additional features for Intl.NumberFormat to solve key pain points.
Следующая версия Firefox (78, запланированная дата релиза — 30 июня) будет ESR (Extended Support Release), то есть будет поддерживаться в течение года для энтерпрайз юзеров. Для того, чтобы не сломать интеренеты, в 78 было отложено выпиливание некоторых устаревших фич, таких как TLS 1.0/1.1, DTLS 1.0 для WbRTC, FTP, AppCache. Кроме того, отложены внедрение блокировки скриптов с неправильным MIME типом в воркерах и внедрение SameSite=Lax по умолчанию. Некоторые из этих изменений попадут в релиз Firefox 79, а некоторые возможно будут отложены на последующие из-за продолжающейся пандемии COVID-19.
Ну и бонусная информация от меня: об этом нигде не пишут, но SharedArrayBuffer также отключен в Firefox 78 (даже если включить флаг
Ну и бонусная информация от меня: об этом нигде не пишут, но SharedArrayBuffer также отключен в Firefox 78 (даже если включить флаг
javascript.options.shared_memory в about:config)