Вебня – Telegram
Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
С конца июля TypeScript опережает Babel по количеству скачиваний в npm и эта разница стремительно растёт

https://www.npmtrends.com/typenoscript-vs-babel-core
Как справедливо заметил @pterolex, на графике в предыдущем сообщении учитывается Babel 6. Совсем забыл, что мы давно перешли под неймспейс 😅🤦‍♂️.

Правильный график вот тут и Babel всё ещё лидирует.
@maxgraey предлагает вычесть из скачиваний @babel/core скачивания @babel/preset-typenoscript, и в этом случае TS и Babel практически сравниваются. На этом про TS vs Babel на сегодня всё :)

https://www.npmtrends.com/typenoscript-vs-@babel/core-vs-@babel/preset-typenoscript
Создана новая Unicode Working Group — Message Formatting. Рабочая группа представлена сотрудниками Amazon, Dropbox, Facebook, Google, IBM, Mozilla, OpenJSF и Paypal и будет заниматься разработкой нового стандарта для форматирования текста. Текущая версия ICU Message Format сложна для различных форм слова (таких как род, число и др), поэтому было решено создать новую с учётом всех проблем ICU.

https://github.com/unicode-org/message-format-wg
Статья о том, как команда Chrome сотрудничает с опенсорс фреймворками, библиотеками и инструментами.

https://web.dev/advancing-framework-ecosystem-cds-2019/
Во всех последних версиях версиях Firefox и Thunderbird найдена критическая уязвимость, позволяющая получить контроль над системой атакуемого. Уязвимость была обнаружена в оптимизирующем JIT компиляторе JavaScript IonMonkey и уже широко использовалась.
WICG предлагает добавить Compression Streams API для использования gzip и deflate (в будущем планируются и другие алгоритмы, например brotli) для прикладных задач в веб платформе. Уже сейчас можно попробовать новое API в Chrome Canary в демо, которое так же демонстрирует использование Native File System API
Вышел TypeScript 3.8 Beta. Очень класссный релиз, в котором:
- Type-Only Imports and Export
- приватные поля классов (stage 3)
- export * as ns
- top-level await (stage 3)
- поддержка @public, @private и @protected в JSDoc
- продвинутая поддержка file-watching
- дополнительная настройка для быстрого тайпчекинга
Вышел Babel 7.8.0. Тоже классный релиз, в котором:
- поддержка ES2020 фич по умолчанию (nullish coalescing и optional chaining)
- поддержка разных форматов файлов конфигурации
- новые параметры CLI для конфигурации вывода

Также в статье новости о будущем релизе Babel 8, о котором можно почитать подробнее вот тут.
Оказывается команда SpiderMonkey (JavaScript движок, используемый в Firefox) недавно завела блог, в котором публикует новости об изменениях в движке. В последней новостной рассылке есть много всего интересного:
- обновление Intl.DateTimeFormat.prototype.formatToParts до актуальной версии, соответствующей последним изменениям в спецификаци
- Project Visage — новый фронтенд (парсер и эмиттер байткода) для JavaScript, написанный на языке Rust
- улучшения парсера
- Project Stencil — новый формат данных, генерируемых парсером
- движок для регулярных выражений будет заменён на тот, что используется в V8
- упрощение байткода
- устаревшие toSource и uneval убраны из движка
- улучшения дебаггера
- улучшения производительности Array.prototype.reverse и BigInt
- в Nightly появился флаг, включающий поддержку JS BigInt <-> wasm I64 conversion
- продолжается работа над уже добавленными #WebAssembly пропозалами Reference types и bulk memory
- много улучшений Cranelift — кодогенератора, который в будущем будет использоваться для оптимизирующего компилятора WebAssembly
- ведётся работа на WebAssembly пропозалом multi-value
- ведётся работа над включением SharedArrayBuffer по умолчанию
- начата работа по добавлению WebAssembly пропозала exception handling
Завтра, 14 января, завершается период расширенной поддержки Windows 7. После этого техническая поддержка и обновления перестанут предоставляться. Windows 7 до сих пор является второй по популярности операционной системой из семейства Windows (по StatCounter) с 25% пользователей. Internet Explorer 11 всё ещё будет поддерживаться на Windows 8.1 до 10 января 2023 (примерно 5% пользователей ОС семейства Windows) и Windows 10 (на которой браузером по умолчанию является Edge).

А уже 15 января состоится релиз новой версии браузера Edge на основе Chromium.
Если Вам очень надо по какой-либо причине заблокировать автоматическое обновление старой версии Edge (которая, к слову, получила официальное название — Edge Legacy) до новой (основанной на Chromium), то есть официальная инструкция от Microsoft. Если Вам нужно тестировать свои веб приложения на обеих версиях Edge, то есть инструкция и для этого.
Разработчики Chromium собираются заморозить и унифицировать строку User Agent. Safari уже сделали это в Safari Technolgy Preview 46, Firefox и Edge собираются в сделать то же самое. Взамен предлагается использовать спецификацию User-Agent Client Hints, которая в данный момент развивается от лица компании Google в икубаторе W3C WICG.
Поддержка публичных полей классов добавлена в JavaScriptCore (JS движок, используемый в WebKit)! Ждём в Safari Technology Preview.

https://trac.webkit.org/changeset/254653/webkit
Chromium постепенно сворачивает поддержку Chrome Apps. План выглядит вот так:
- март 2020 — перестанут принимать новые приложения в Chrome App Store (старые ещё можно будет обновлять)
- июнь 2020 — конец поддержки для всех юзеров кроме тех, у кого есть Chrome Enterprise или Education Upgrade
- декабрь 2020 — конец поддержки для всех
- июнь 2021 — конец поддержки NaCl, PNaCl и PPAPI
- июнь 2021 — конец поддержки для всех юзеров Chrome OS кроме тех, у кого есть Chrome Enterprise или Education Upgrade
- июнь 2022 — конец поддержки для всех юзеров Chrome OS
Команда Chromium надеется, что PWA должны полностью заменить Chrome Apps.
Инженеры Mozilla, работающие над Firefox написали большую статью о режиме Picture-in-Picture, о том, какие дальнейшие изменения планируются и о том, как эта фича реализована в Safari и Chrome.

https://hacks.mozilla.org/2020/01/how-we-built-picture-in-picture-in-firefox-desktop/