Вебня – Telegram
Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Разработчики 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/
В IDE от JetBrains наконец-то собираются добавить воркспейсы! А также ускорить индексацию, вынести разные блокирующие запись части из основного UI потока, добавить коллаборативное редактирование и облачное выполнение.

https://blog.jetbrains.com/idea/2019/12/intellij-platform-roadmap-for-2020/
Статья от Surma о том, что такое streams и observables и о том, почему это не одно и то же.

https://dassur.ma/things/streams-for-reactive-programming/
На этой неделе вышла новая версия Google Closure Compiler (v20200112). Среди прочих нововведений числятся поддержка вычисляемых имен геттеров и сеттеров в классах (эта фича ES2015 ранее не поддерживалась компилятором) и поддержка компиляции для браузеров, вышедших в 2020. Полный список изменений тут:
https://github.com/google/closure-compiler/wiki/Releases#january-12-2020-v20200112
В репозитории MSEdge есть ишью, которая называется “Make EdgeHTML open source”. Сама по себе она особой ценности не несёт, зато там появились интересные сообщенияя о том, почему EdgeHTML вряд ли когда-то станет свободным ПО. Я расскажу вам немного более полную историю. 🙂

Код рендер движка из Edge legacy основан на кодовой базе движка Trident, который использовался в Internet Explorer. Trident в свою очередь основан на исходниках Mosaic, которые компания Microsoft приобрела у компании Spyglass Inc., созданной Университетом Иллиноиса для того, чтобы релецензировать код другим вендорам и зарабатывать деньги с продаж. Microsoft выкупила лицензию на использование кода Mosaic в 1995 году за 2 миллиона долларов, и Spyglass рассчитывали заработать ещё больше за ежеквартальные платежи и проценты с продаж браузера Internet Explorer, но их планам не суждено было сбыться. Microsoft решили сделать браузер бесплатным, чтобы бороться за рынок с Netscape. Впоследствии Microsoft заплатит Spyglass ещё 8 миллионов роялти за период до конца 1998 (в сумме Microsoft выплатит Spyglass 13.1 миллиона долларов) и добьётся прекращения юридического конфлекта с ними. Внутренний аудит кода Internet Explorer 7 позже покажет, что в нём не осталось кода Mosaic. На данный момент трудно сказать, сможет ли Microsoft при необходимости доказать в суде, что в EdgeHTML не используется код Mosaic, а значит возможно это в том числе является препятствием для перелицензирования своего рендер движка. В любом случае, наверняка есть и другие проблемы, не позволяющие сделать EdgeHTML свободным ПО.
Экспериментальная поддержка WeakRefs (stage 3) добавлена в Firefox Nightly 74. Включить можно в about:config флагом javanoscript.options.experimental.weakref.

https://bugzilla.mozilla.org/show_bug.cgi?id=1593698
В блоге браузера Brave вышла статья Brave 1.0 Performance: Methodology and Results со сравнением производительности Brave, Chrome, Firefox и Opera на платформах Windows, MacOS и Android. Сравниваются такие метрики как скорость загрузки страницы, потребление памяти, потребления энергии, утилизация процессора, пропускная способность (bandwidth). Также прилагаются результаты синтетических тестов Kraken 1.1, Speedometer 2.0, JetStream 2 и BaseMark Web 3.
Вышел Jest 25. Эта версия примечательна началом работы над поддержкой ESM модулей для Node 13. Из других нововведений можно выделить экспериментальную поддержку инструментария для проверки покрытия тестами из V8. Полный спосок изменений можно найти на официальном сайте:
https://jestjs.io/blog/2020/01/21/jest-25
Выпуск подкаста Андрея Смирнова Frontend Weekend с соведущим этого канала Романом Дворновым.
https://soundcloud.com/frontend-weekend/fw-102

00:35 Чем можешь быть известен моей аудитории?
01:16 Как изменилось видение баланса между руководством и разработкой?
03:47 Каково было не работать полгода после ухода из Avito?
07:21 Что успел сделать необычного за время отдыха?
09:18 Насколько Wrike смог предложить то, что тебе нужно сейчас?
11:28 Раскрытие «секрета» про переезд Ромы в Прагу
14:34 Будешь ли переводить Wrike на basis.js и как собиралась твоя команда?
18:26 Когда собираешься отказаться от роли «играющего тренера»?
21:54 Как понимаешь свою миссию как веб-исследователя?
23:33 Как и зачем появился discovery.js?
26:55 Угас ли интерес к open source и появился ли у него успех?
30:53 Договорился ли с работодателем и научился ли продвигать свои проекты?
37:01 Почему называешь себя «изобретателем велосипедов» и понимаешь ли проблемы такого подхода?
42:45 Если бы можно вернуться в прошлое и исправить ровно один проект, какой бы выбрал?
46:07 Как и зачем пришел помогать Серёже Рубанову с Juliarderity?
47:56 Почему стоит переехать в Прагу?
48:50 Какие soft skills помогли стать тимлидом?
50:48 Готовим вместе с фронтенд-разработчиком
52:33 Совет от Ромы
Вышел Safari Technology Preview 99.
Основные изменения:
- убрана поддержка Adobe Flash
- улучшения веб инспектора
- исправления и улучшения поддержки HTML и DOM спецификаций
- улучшения CSS
- улучшения поддержки медиа и различных Web API
Составлен список вопросов на обсуждение для февральской встречи WebAssembly Community Group.

День 1:
- переход Exception Handling на phase 2 🚀
- Stack switching / Coroutines / Effect handlers
- переход Bulk Memory Operations на phase 4 🚀
- переход Reference Types на phase 4 🚀
- переход Tail calls на phase 4 🚀
- Garbage Collection
- Debugging Topics
День 2:
- Feature Detection
- Fixed-Width SIMD
- Custom Annotation Syntax in the Text Format
- Interface Types
- WASI :
- WASI Embedding API, Interface Types и WASI
- CT-Wasm
- Multiple Memories
- Type Reflection for WebAssembly JavaScript API
- Typed Function References
Среди репозиториев Microsoft на GitHub появился интересный проект Playwright — библиотека Node.js для автоматизации браузеров Chrome, Firefox и WebKit. За проектом стоят те же люди, которые создавали Puppeteer.

https://twitter.com/aslushnikov/status/1220045633282662401