Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
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
Если 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
podlodka.io
Podlodka #165 – WebAssembly
Если JS убьет все языки, а Wasm убьет JS, то что нам останется? Вместе с Сергеем Рубановым разобрались откуда родилась идея технологии, обсудили технические детали и что ждет Wasm в будущем. Кажется, WebAssembly может вдохнуть новую жизнь в браузеры, потому…
Статья с анализом производительности небезызвестного Notion от Ивана Акулова, из которой можно почерпнуть что-нибудь полезное.
Forwarded from Иван Акулов про разработку
Ю-ху, вышла новая большая кейс-стади про перформанс Notion-а!
Разбираемся, как ускорить запуск Реакт-приложения на ~30%, просто подтюнив конфиги и отсрочив часть кода.
Внутри:
— как переход на СommonJS-модули может (внезапно) ускорить инициализацию бандла
— как находить и удалять неиспользуемые зависимости
— как откладывать аналитику до полного запуска приложения (и почему requestIdleCallback тут не подходит)
и ещё много чего.
→ https://3perf.com/blog/notion/
Разбираемся, как ускорить запуск Реакт-приложения на ~30%, просто подтюнив конфиги и отсрочив часть кода.
Внутри:
— как переход на СommonJS-модули может (внезапно) ускорить инициализацию бандла
— как находить и удалять неиспользуемые зависимости
— как откладывать аналитику до полного запуска приложения (и почему requestIdleCallback тут не подходит)
и ещё много чего.
→ https://3perf.com/blog/notion/
Вышла Node.js 12.17.0. Основные изменения:
- флаг
- экспериментальная поддержка AsyncLocalStorage API
- в REPL теперь доступно превью автодополнения и некоторые операции для работы с текстом
- EventEmmiter теперь может отлавливать исключения через специальный символ
- необработтаные исключения теперь можно мониторить без переопределения стандартного поведения с выходом из процесса
- новый метод и мелкие улучшения встроенного модуля fs
- конструктор Console теперь поддерживает настраиваемые отступы для групп
- опция для настройки максимального количества видимых символов при выводе строк в консоль
- N-API 6
- отчеты диагностики перешли в статус стабильной фичи
- стандартное значение таймаута заголовков было увеличено до 60 секунд, чтобы соответствовать значениям таймаутов популярных AWS ELB и прочих сервисов
Полный список изменений:
https://nodejs.org/en/blog/release/v12.17.0/#increase-of-the-default-server-headers-timeout
- флаг
--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
https://v8.dev/blog/high-performance-cpp-gc
v8.dev
High-performance garbage collection for C++ · V8
This post describes the Oilpan C++ garbage collector, its usage in Blink, and how it optimizes sweeping, i.e., reclamation of unreachable memory.
CSS спецификация Box Sizing Module Level 4 перешла в статус First Public Working Draft. В сравнении с Level 3, в новой версии добавлены новые ключевые слова
stretch, fit-content, contain для свойств размеров, а также добавлены свойства aspect-ratio и contain-intristic-size.www.w3.org
First Public Working Draft: CSS Box Sizing Module Level 4
The CSS Working Group has published a First Public Working Draft of CSS Box Sizing Module Level 4. This module extends the CSS sizing properties with keywords that represent content-based “intrinsic” sizes and context-based “extrinsic” sizes, allowing CSS…
Google собираются провести онлайн мероприятие для веб разработчиков web.dev/live. Оно пройдёт с 30 июня по 2 июля. В программе достаточно много тем, советую ознакомиться самостоятельно.
web.dev
web.dev LIVE Day 1
Missed web.dev LIVE? We've got you covered. Watch the talks from the web.dev LIVE 2020 event
Доктор 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
- поддержка пропозала 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
babeljs.io
7.10.0 Released: Class Fields in preset-env, '#private in' checks and better React tree-shaking · Babel
We just released a new minor version of Babel!
Adobe выпустили имплементацию своей дизайн системы Spectrum на веб компонентах и LitElement.
https://opensource.adobe.com/spectrum-web-components/
https://opensource.adobe.com/spectrum-web-components/
Spectrum Web Components
Spectrum Web Components - Spectrum Web Components
Spectrum Web Components provide interface components as custom elements to help teams work more efficiently and to make applications more consistent.
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
Самые любимые языки среди опрошенных разработчиков (в скобках указано относительное количество разработчиков, которые разрабатывают на языке и хотят продолжить его использовать):
- 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
stackoverflow.blog
The 2020 Developer Survey results are here! - Stack Overflow
Лучшие практики для измерения метрик Web Vitals от инженеров Google.
https://web.dev/vitals-field-measurement-best-practices/
https://web.dev/vitals-field-measurement-best-practices/
web.dev
Best practices for measuring Web Vitals in the field | Articles | web.dev
How to measure Web Vitals with your current analytics tool
Что нового добавится в Web Animations API в Chromium 84 (релиз 14 июля).
https://web.dev/web-animations/
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 фичи теперь включены по умолчанию. Полный список изменений можно найти вот тут.
www.graalvm.org
GraalVM
GraalVM is a high-performance JDK distribution designed to accelerate the execution of applications written in Java and other JVM languages along with suppor...
Yulia Startsev из Mozilla собирается завтра транслировать свою работу над JavaScript движком SpiderMonkey. Должно быть интересно!
https://twitter.com/mozhacks/status/1265752634620882944
Также советую посмотреть её доклад о добавлении поддержки Nullish Operator в SpiderMonkey с конференции HolyJS Moscow 2019.
https://www.youtube.com/watch?v=uSkiDxb0m0Y
https://twitter.com/mozhacks/status/1265752634620882944
Также советую посмотреть её доклад о добавлении поддержки Nullish Operator в SpiderMonkey с конференции HolyJS Moscow 2019.
https://www.youtube.com/watch?v=uSkiDxb0m0Y
Twitter
Mozilla Developer
Compiler Compiler, with @ioctaptceb! A guided tour of what it’s like to work on the SpiderMonkey compiler and improve conformance with ECMA-262, the #JavaScript Specification. 🗓: May 29th at 8amPST, 17:00 CET 💻: https://t.co/7dZRgIJAiD
Вышел Safari Technology Preview 107. В нём:
- Intl.Locale (ECMA402 2020)
- BigInt.asIntN и BigInt.asUintN (но вроде это ошибка, они работают еще с прошлой версии)
- logical assignment operators (stage 3) теперь включены по умолчанию
- много улучшений Web Inspector
- исправления нескольких Web API
- исправления и улучшения CSS
- исправления рендерера, скроллинга и веб анимаций
- Intl.Locale (ECMA402 2020)
- BigInt.asIntN и BigInt.asUintN (но вроде это ошибка, они работают еще с прошлой версии)
- logical assignment operators (stage 3) теперь включены по умолчанию
- много улучшений Web Inspector
- исправления нескольких Web API
- исправления и улучшения CSS
- исправления рендерера, скроллинга и веб анимаций
WebKit
Release Notes for Safari Technology Preview 107
Safari Technology Preview Release 107 is now available for download for macOS Catalina and macOS Mojave.
Вебня
Вышел Safari Technology Preview 107. В нём: - Intl.Locale (ECMA402 2020) - BigInt.asIntN и BigInt.asUintN (но вроде это ошибка, они работают еще с прошлой версии) - logical assignment operators (stage 3) теперь включены по умолчанию - много улучшений Web Inspector…
Также в анонсе не указано, но в этой версии появилась поддержка публичных полей экземпляров класса и Promise.any!
На MDN внезапно появились туториалы по популярным клиентстким JavaScript фреймворкам. В данный момент там есть React, Vue и Ember.
MDN Web Docs
JavaScript frameworks and libraries - Learn web development | MDN
JavaScript frameworks are an essential part of modern front-end web development, providing developers with tried and tested tools for building scalable, interactive web applications. Many modern companies use frameworks as a standard part of their tooling…
Google продолжают выпускать статьи о метриках Web Vitals. В этот раз они написали об инструментах для измерения метрик. Среди таких: Lighthouse, PageSpeed Insights, Chrome DevTools, Search Console, собственный сервис от web.dev, расширение Web Vitals для Chrome, а также новый Chrome UX Report API.
web.dev
Core Web Vitals workflows with Google tools | Articles | web.dev
With the growing importance of Core Web Vitals, site owners and developers increasingly focus on performance and key user experiences. Google provides many tools to help evaluate, optimize, and monitor pages, but users are often confused by the different…
Вышел Chrome 84 Beta. В нём появился Web OTP API, добавлены улучшения Web Animations. Новые origin trails: Cookie Store API, Idle Detection, Origin Isolation, #WebAssembly SIMD. Content Indexing API и Wake Lock API вышли из origin trial и теперь будут доступны по умолчанию. V8 8.4 поддерживает stage 3 пропозалы WeakReferences и недостающие фичи класса — приватные методы и аксессоры (геттеры и сеттеры).
Более полный список изменений:
https://blog.chromium.org/2020/05/chrome-84-beta-web-otp-web-animations.html
Более полный список изменений:
https://blog.chromium.org/2020/05/chrome-84-beta-web-otp-web-animations.html
Chromium Blog
Chrome 84 Beta: Web OTP, Web Animations, New Origin Trials and More
Unless otherwise noted, changes described below apply to the newest Chrome beta channel release for Android, Chrome OS, Linux, macOS, and Wi...
В Chromium 84 также будут возобновлены изменения SameSite Cookies, которые откатили в апреле из-за пандемии COVID-19.
Также разработчики Chrome продолжают бороться с неблагонадёжными уведомлениями.
Также разработчики Chrome продолжают бороться с неблагонадёжными уведомлениями.
Chromium Blog
Resuming SameSite Cookie Changes in July
In April , we temporarily rolled back the enforcement of SameSite cookie labeling to ensure stability for websites providing essential servi...