Пульс веб-платформы 27.06.2026


Статьи, мнения, туториалы

HTML/Accessibility

  • Чего не хватает SVG: 11 пробелов по Патрику Броссету — Патрик Броссет собрал отзывы из тикетов Chromium, предложений Interop, опроса State of CSS и соцсетей — выделил 11 ключевых недостатков SVG: стилизация извне, интеграция с CSS, перенос текста, производительность, анимации, отзывчивый viewBox, переиспользование, геометрические API, совместимость, доступность, надёжность foreignObject. Базовый reading-list для каждого, кто работает с графикой в вебе.

Performance

  • Как await превращается в троттлинг: микрозадачи, убивающие latency — При нагрузке очередь микротасок в Node.js переполняется — каждый await пушит задачу в queue, Event Loop не успевает тикать, latency растёт хоть CPU и свободен. Совет простой: если функция могла быть синхронной — не делай async. В цикле используй Promise.all с контролем конкурентности или уноси тяжёлые операции в BullMQ.
  • “Тихая” утечка дескрипторов в HTTP/2: как она убивает кластер Node.js — HTTP/2 мультиплексирование — если клиент обрывает соединение, Node.js может некорректно обработать close у Http2Session. Пулы сессий не чистятся, дескрипторы висят в CLOSE_WAIT, воркер постепенно съедает лимит FD и падает с EMFILE. Решение: таймауты сессий, явное закрытие, мониторинг FD + рестарт по порогу.

WebAssembly

  • Half-Life 2 и Portal в браузере через WASM — Разработчик slqntdev портировал Half-Life 2 и Portal в WebAssembly — просто заходишь на сайт и играешь. По ощущениям, производительность местами даже лучше натива: на десктопе стабильные 60 FPS без нагрузки на железо.

Инструменты

  • Введение в Cloudflare Workers для веб-приложений — Детальный разбор Cloudflare Workers на примере деплоя TanStack Start. V8 isolates дают спин-ап в миллисекунды вместо холодных стартов Lambda в сотни мс. Разбор wrangler.jsonc, typegen для секретов, node_compat флаг — всё, что нужно понять при переходе от классического сервера к edge-функциям.