Вебня
4.69K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Поучаствовал в Podlodka Podcast, рассказал о #WebAssembly. Кажется там было несколько неточностей ближе к концу (усталость, извиняйте), но в целом надеюсь, что получилось круто и должно быть интересно! :)
Podlodka #165 – WebAssembly

Если JS убьет все языки, а Wasm убьет JS, то что нам останется? Вместе с Сергеем Рубановым разобрались откуда родилась идея технологии, обсудили технические детали и что ждет Wasm в будущем. Кажется, WebAssembly может вдохнуть новую жизнь в браузеры, потому что уже сейчас начинает уверенно занимать нишу тяжелых вычислений на стороне клиента в браузере. А в списке компаний, уже сейчас использующих Wasm, можно встретить и Zoom, и Unreal, и EOS, и eBay!

Сайт: https://podlodka.io/165
Soundcloud: https://bit.ly/3d4it98
iTunes: https://apple.co/2vCBRcs
Я.Музыка: http://bit.ly/38yDJBz

Поддержи лучший подкаст про IT: www.patreon.com/podlodka
Статья с анализом производительности небезызвестного Notion от Ивана Акулова, из которой можно почерпнуть что-нибудь полезное.
Ю-ху, вышла новая большая кейс-стади про перформанс Notion-а!

Разбираемся, как ускорить запуск Реакт-приложения на ~30%, просто подтюнив конфиги и отсрочив часть кода.

Внутри:
— как переход на СommonJS-модули может (внезапно) ускорить инициализацию бандла
— как находить и удалять неиспользуемые зависимости
— как откладывать аналитику до полного запуска приложения (и почему requestIdleCallback тут не подходит)
и ещё много чего.

https://3perf.com/blog/notion/
Вышла Node.js 12.17.0. Основные изменения:
- флаг --experimental-modules был удалён и теперь ECMAScript модули можно использовать без него. ESM всё ещё остаются экспериментальной фичей. Ожидается, что её стабилизируют в конце октября с выходом Node 14 LTS.
- экспериментальная поддержка AsyncLocalStorage API
- в REPL теперь доступно превью автодополнения и некоторые операции для работы с текстом
- EventEmmiter теперь может отлавливать исключения через специальный символ EventEmitter.errorMonitor
- необработтаные исключения теперь можно мониторить без переопределения стандартного поведения с выходом из процесса
- новый метод и мелкие улучшения встроенного модуля fs
- конструктор Console теперь поддерживает настраиваемые отступы для групп
- опция для настройки максимального количества видимых символов при выводе строк в консоль
- N-API 6
- отчеты диагностики перешли в статус стабильной фичи
- стандартное значение таймаута заголовков было увеличено до 60 секунд, чтобы соответствовать значениям таймаутов популярных AWS ELB и прочих сервисов

Полный список изменений:
https://nodejs.org/en/blog/release/v12.17.0/#increase-of-the-default-server-headers-timeout
Новая статья в блоге JavaScript движка V8 о mark’n’sweep сборщике мусора Oilpan для управления памятью в С++. Он используется в основном для сборки DOM объектов в Blink (ренденр движок Chromium), но скоро также будет интегрирован с V8. Oilpan умеет работать инкрементально и конкурентно. Его внедрение в Chrome 78 позволило ускорить сборку мусора на 25-50%. Ожидается, что некоторые ближайшие изменения позволят улучшить эти показатели ещё сильнее.

https://v8.dev/blog/high-performance-cpp-gc
CSS спецификация Box Sizing Module Level 4 перешла в статус First Public Working Draft. В сравнении с Level 3, в новой версии добавлены новые ключевые слова stretch, fit-content, contain для свойств размеров, а также добавлены свойства aspect-ratio и contain-intristic-size.
Google собираются провести онлайн мероприятие для веб разработчиков web.dev/live. Оно пройдёт с 30 июня по 2 июля. В программе достаточно много тем, советую ознакомиться самостоятельно.
Доктор Axel Rauschmayer написал статью с обзором JavaScript пропозала Records and Tuples (stage 1), добавляющего новые иммутабельные типы.
Вышел Babel 7.10.0. Среди нововведений:
- поддержка пропозала Ergonomic brand checks for Private Field (stage 1)
- совместимая с ES2015 поддержка экранирования символов
- улучшения поддержки optional chaining (ES2020)
- поддержка module attributes (stage 1) парсером
- улучшенный три-шейкинг для React
- парсинг import.meta (ES2020) включен по умолчанию
- поля классов (stage 3) добавлены в shippedProposals, так как начинают появляться в браузерах
- новая архитектура для поллифилов. Теперь как альтернативу core-js можно использовать набор полифиллов из es-shims
Stack Overflow представили результаты опроса The 2020 Developer Survey.

Самые любимые языки среди опрошенных разработчиков (в скобках указано относительное количество разработчиков, которые разрабатывают на языке и хотят продолжить его использовать):
- Rust (86.1%)
- TypeScript (67.1%)
- Python (66.7%)
- Kotlin (62.9%)
- Go (62.3%)
- Julia (62.2%)
- Dart (62.1%)
- C# (59.7%)
- Swift (59.5%)
- Javascript (58.3%)

DevOps инженеры — самые высокооплачиваемые.

Коротко: https://stackoverflow.blog/2020/05/27/2020-stack-overflow-developer-survey-results/
Полные результаты: https://insights.stackoverflow.com/survey/2020
Что нового добавится в Web Animations API в Chromium 84 (релиз 14 июля).

https://web.dev/web-animations/
19 мая вышел GraalVM 20.1, в JavaScript части которого релизованы пропозалы Optional Chaining, Hashbang Grammar, FinalizationRegistry, private class methods, RegExp Match Indices, export * as ns from "mod", Intl.Locale, Intl.DisplayNames, Intl.DateTimeFormat dateStyle and timeStyle. Все ES2020 фичи теперь включены по умолчанию.

Полный список изменений можно найти вот тут.
Yulia Startsev из Mozilla собирается завтра транслировать свою работу над JavaScript движком SpiderMonkey. Должно быть интересно!

https://twitter.com/mozhacks/status/1265752634620882944

Также советую посмотреть её доклад о добавлении поддержки Nullish Operator в SpiderMonkey с конференции HolyJS Moscow 2019.
https://www.youtube.com/watch?v=uSkiDxb0m0Y
Вышел Safari Technology Preview 107. В нём:
- Intl.Locale (ECMA402 2020)
- BigInt.asIntN и BigInt.asUintN (но вроде это ошибка, они работают еще с прошлой версии)
- logical assignment operators (stage 3) теперь включены по умолчанию
- много улучшений Web Inspector
- исправления нескольких Web API
- исправления и улучшения CSS
- исправления рендерера, скроллинга и веб анимаций
Google продолжают выпускать статьи о метриках Web Vitals. В этот раз они написали об инструментах для измерения метрик. Среди таких: Lighthouse, PageSpeed Insights, Chrome DevTools, Search Console, собственный сервис от web.dev, расширение Web Vitals для Chrome, а также новый Chrome UX Report API.