Вебня
4.69K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Вышел TypeScript 4.4 Beta

https://devblogs.microsoft.com/typescript/announcing-typescript-4-4-beta/

В нём:
- продвинутый анализ потока управления
- символы и паттерны шаблонных строк в качестве типов индексов
- переменная catch-блока по умолчанию теперь типа unknown (вместо any) при использовании флага
- улучшения типизации опциональных свойств
- обновление команды --help в консоли
- улучшения производительности
Copilot – искусственный интеллект, помогающий писать кода

GitHub запускает новый сервис Copilot на основе AI, который призван помогать разработчику писать код, предлагая фрагменты кода исходя из контекста. AI обучено на миллиардах строк открытого кода и обучается стилю и особенностям проекта по мере его написания. Таким образом, по заявлению авторов, это больше чем автокомплит, так как подстраивается под разработчика и проект, предлагая адаптированные типовые решения. Сервис запускается как техническое превью, нужно записаться чтобы попробовать в деле (места ограничены, если еще доступны).
Утверждается, что поддерживается большое количество фреймворков и языков, но на этапе технического превью особенно хорошо работает с JavaScript, TypeScript, Python, Ruby и Go. На странице сервиса можно посмотреть примеры, выглядит как минимум интересно.
Вышел Safari Technology Preview 127

В нём исправления и улучшения CSS, скроллинга, медиа, Web API, доступности, рендеринга, оптимизация JS, поддержка Ergonomic Brand Checks (stage 3)

https://webkit.org/blog/11736/release-notes-for-safari-technology-preview-127/
Джейк Арчибальд разобрался в особенностях export default и написал об этом хорошую статью «export default thing» is different to «export { thing as default }»
Табы в HTML

Brian Kardell из Igalia рассуждает о том, как можно добавить базовые примитивы для создания пользовательских интерфейсов в HTML и конкретно о том, как добавить табы. Оказывается это не такая уж простая задача.

https://bkardell.com/blog/SpicySections.html

П.С. Про другие интересные предложения базовых элементов можно почитать тут.
#W3C Web Applications Working Group опубликовала Candidate Recommendation Snapshot спецификации ARIA in HTML. Она описывает требования соответствия к атрибутам доступности в HTML.
#W3C Internationalization Worgking Group опубликовала документ Internationalization Glossary в статусе First Public Working Draft. В глоссарии даются определения различным терминам, имеющим отношение к интернационализции в W3C.
Результаты первого дня июльской встречи #TC39

Я на встрече присутствовать не смог ввиду неудобной временной зоны проведения (Токио), поэтому отмечу только самое важное:

- ECMA-402 пропозал Intl Enumiration API отправляется на stage 3 (слайды)
- пропозал Realms требует дальнейших обсуждений, пока что не отправляется на stage 3, но ещё будет время для дальнейшего обсуждения в другие дни встречи (слайды)

Другие пропозалы, которые успели обсудить:
- Intl Locale Info update (слайды)
- Intl DisplayNames v2 update (слайды)
- Extend TimeZoneName Option Proposal update (слайды)
Вышел Firefox 90

https://hacks.mozilla.org/2021/07/getting-lively-with-firefox-90/

В нём:
- Fetch Metadata Request Headers
- автообновления на Windows даже если Firefox не запущен
- поддержка FTP убрана из браузера
- ссылки теперь работают при сохранении страниц в PDF
- Cache API теперь можно использовать в экстеншнах и воркерах
- поддержка приватных полей классов, приватных методов и аксессоров (ES2022) по умолчанию
- Ergonomic brand checks для приватных полей (stage 3, а завтра уже возможно станут stage 4 и позже частью ES2022)
- метод .at() для массивов, строк и тайпд эрреев (stage 3)

Изменения для конечных пользователей
Изменения для разработчиков
Использование #WebAssembly потоков из C, C++ и Rust

Ингвар Степанян из Google о том, что представляет собой реализация потоков в WebAssembly и как их использовать.

https://web.dev/webassembly-threads/
Релиз браузера Samsung Internet 15.0 Beta

Он основан на Chromium 90 и добавляет некоторые фичи, защищающие приватность пользователей.

https://medium.com/samsung-internet-dev/introducing-15-0-beta-2d5c50ba2c80
Результаты второго дня июльской встречи #TC39

Результаты первого дня тут.

Пропозалы, выдвинутые чемпионами к продвижению:
- Ergonomic Brand Checks отправляется на stage 4 и попадёт в ES2022
- Array Find From Last отправляется на stage 3 (слайды)
- ArrayBuffer to/from Base64 отравляется на stage 1 (слайды)
- Array Filtering пока не переходит на stage 2, но одобрено добавление нового пропозала метода groupBy на stage 1(слайды)

Обновления пропозалов:
- Accessible Object hasOwnProperty (слайды)
- Import Assertions (слайды)
- декораторы (слайды)
- Module fragments (слайды)
⚡️ #WebAssembly пропозал SIMD переходит на phase 5 (фича прошла процесс стандартизации и будет добавлена в спецификацию)
Результаты третьего дня июльской встречи #TC39

Результаты первого дня тут. Результаты второго дня тут.

Пропозалы, выдвинутые чемпионами к продвижению:
- Intl.NumberFormat v3 переходит на stage 3 (слайды)
- Realms, итог по которому не был подведён в первый день, всё же переходит на stage 3 с возможной сменой названия (слайды)
- пропозал getOriginals (у которого пока нет даже репозитория) не получил необходимый консенсус для перехода на stage 1

Обновления пропозалов:
- Module fragments (слайды)
Представлен черновик Emoji 14.0

https://blog.emojipedia.org/new-emojis-in-2021-2022/

Релиз ожидается 14 сентбяря.
Релиз Ember 4.0 состоится 20 сентября

В новой версии не появится новых фич, а лишь будут убраны фичи, которые уже задеприкейтили в Ember 3.x. Кроме того, прекращается поддержка IE 11.

https://blog.emberjs.com/the-road-to-ember-4-0/