Frontend Weekly Поддержи
На главную

Еженедельный дайджест #32: Новости фронтенда

Как читать этот дайджест
  • Начните с заголовков статей, чтобы получить общее представление о содержании
  • Быстро пробегитесь по первым абзацам, чтобы понять актуальность материалов именно для вас
  • Выберите наиболее интересные или полезные темы под текущие задачи
  • Планируйте чтение: выделите, например, 15 минут утром и 15 минут вечером
  • Не пытайтесь прочитать всё сразу — возвращайтесь к дайджесту в удобное время
  • При повторном просмотре читайте выбранные статьи более вдумчиво, делая заметки
  • Не сожалейте, если прочитали лишь часть: ценность в качестве, а не в количестве
  • Используйте закладки для сохранения интересных материалов
  • Делитесь инсайтами и ссылками с коллегами — так информация лучше усвоится
Фронти тут — выпуск #32 готов! 🗞️
HTML учит геолокацию! 🌍
Anchor Positioning — CSS вяжет связи! ⚓
AI дебажит React, но сеньор нужен! 🤖
Эмодзи уронил дашборд — боль! 💔
Node 25.6 — SIMD и новый URL! 🚀
Babel 7 всё, ESLint 10 на старте! 🏁
OpenClaw — TS-агент захватил GitHub! 🐾
State of JS: Hono — фаворит! 📊
Gatsby жив и дружит с React 19! ⚛️
Фронти - маскот дайджеста

🧪 HTML и Платформа

JPEG XL — нужен ли нам ещё один формат изображений?

Подробный разбор формата JPEG XL: чем он отличается от WebP и AVIF, какие у него плюсы и минусы, и стоит ли использовать его уже сейчас в веб-проектах. Читать про JPEG XL

🎨 CSS и дизайн

Слишком ранний «брейкпоинт»

Частая ошибка в адаптивной верстке: мы слишком рано «схлопываемся» в одну колонку. Автор показывает, как с CSS Grid и Container Queries делать более «умные» точки перелома: добавлять промежуточные состояния, плавнее переходить между раскладками и реально использовать доступную ширину экрана.

Решаем «shrinkwrap»: новая экспериментальная техника

«Shrinkwrap» — когда элемент должен подстроить ширину под переносимый текст (auto-wrapped content), и это традиционно считалось «невозможным» в чистом CSS. Автор предлагает экспериментальный подход, комбинируя Anchor Positioning и scroll-driven animations, и обсуждает, как это может превратиться в нативную фичу в будущем. Много интерактивных примеров.

Рисуем «связи» с CSS Anchor Positioning

Понятный туториал про anchor positioning: как позиционировать элементы относительно «якоря» (другого элемента) так, чтобы раскладка была «осознающей контекст». Особенно полезно для UI-паттернов, где важны отношения между компонентами (подсказки, выпадашки, popover-панели и т.п.).

Присоединяйтесь Telegram-каналу

Получайте уведомления о новых дайджестах, обсуждайте новости с коллегами и делитесь своим опытом в дружелюбном сообществе фронтенд-разработчиков

Подписаться

📦 JavaScript

TypeScript

OpenClaw: «убежавший» AI‑ассистент на TypeScript

OpenClaw: The Runaway AI Assistant — заметка о новом open‑source TypeScript‑проекте, вокруг которого за неделю случилась буря: проект быстро набрал популярность, пережил несколько переименований, и вокруг него стали появляться «агентские» проекты (вплоть до примеров вроде отдельной социальной сети). В тексте также упомянуто, что у проекта уже огромная активность на GitHub — ссылка — и приводится пример «автономного» проекта из экосистемы — ссылка. Почему это важно фронтендеру: такие инструменты двигают вперёд практики «agentic coding», и TypeScript всё чаще оказывается «языком по умолчанию» для подобных инициатив.

⚛️ React

Отладка React с помощью AI: может ли он заменить сеньора?

Автор (Nadia Makarevich) устроила «краш‑тест»: собрала приложение с кучей тонких багов, отдала задачу Claude и посмотрела, как тот справится. Итог приземлённый: AI может помочь с идеями и быстрыми гипотезами, но в реальной отладке (особенно когда проблема «скользкая») всё ещё часто упирается в опыт, понимание кода и системное мышление. Полезно почитать, чтобы трезво оценить ожидания от AI‑помощников и понять, где они реально экономят время, а где — создают ложные следы.

Почему Inngest переехали с Next.js на TanStack Start

Подробный разбор миграции: что болело, почему решили сменить стек, как планировали переход и что получилось в итоге. Если у тебя проект на Next.js и ты присматриваешься к альтернативам, тут хороший список аргументов и практических «граблей» (особенно про организацию маршрутов, данные, сборку и DX).

Gatsby выпустил новый релиз с поддержкой React 19

Gatsby продолжает жить и развиваться: в новом релизе заявлена официальная поддержка React 19. Если ты используешь Gatsby или ведёшь старые проекты, это важная новость, потому что «совместимость с React 19» влияет и на обновления зависимостей, и на стратегию поддержки. Также в выпуске есть ссылка на обсуждения «Gatsby умер?» — как контекст: вот она.

«Разбитое сердце» (или ускорение в 100× одной строкой)

История из разряда «такое может случиться с каждым»: один эмодзи в данных уронил производительность дашборда — загрузка стала занимать ~10 секунд. Автор прошёл через типичные ложные следы (включая подозрения на React), профайлинг и «бинарный поиск» причины, и нашёл проблему. Главный вывод для новичка: производительность часто ломается не “фреймворком”, а данными и мелкими деталями рендера/парсинга, поэтому важны измерения и методичный поиск.

Обзор React‑элемента <ViewTransition>

Сравнение нового React‑компонента <ViewTransition> (в Canary) с классическим startViewTransition(): где удобнее, где больше контроля, что с «магией» и предсказуемостью. Полезно, если ты уже интересовался View Transitions и хочешь понять, как React пытается упаковать это в компонентный API — и почему итоговые выводы оказались не однозначными.

Почему классы могут мешать мемоизации React Compiler

React Compiler стремится автоматически делать мемоизацию, но экземпляры классов (особенно «богатые поведением») иногда ломают оптимизации. Практическое правило: внутри render‑пути чаще выбирать «данные‑вперёд» (простые структуры), а не объекты с методами и внутренним состоянием. Это помогает компилятору/рендеру быть предсказуемее.

Фреймворки и мета‑фреймворки

⚙️ Node.js

State of JavaScript 2025: бэкенд‑фреймворки

Опубликовали результаты ежегодного опроса State of JS, и в этом выпуске акцент на бэкенд‑фреймворках для экосистемы Node.js. Если коротко: Express всё ещё самый распространённый выбор, NestJS заметно набирает обороты, а Hono оказался лидером по удовлетворённости разработчиков (то есть тем, «насколько приятно им пользоваться»). Полезно, чтобы понять: что популярно на рынке, куда двигается сообщество и какие технологии чаще встретятся в проектах. Также по ссылкам из описания: Express, NestJS, Hono

Вышел Node.js 25.6.0 (Current)

Обновление ветки Current с несколькими заметными штуками:

  • async_hooks теперь может отключать трекинг Promise, чтобы снизить накладные расходы инструментирования в продакшене: подробности
  • встроенный тест‑раннер получил опцию для «впрыска» env‑переменных на запуск: опция env
  • TextEncoder ускорили (в том числе за счёт SIMD): подробности и ссылка на TextEncoder
  • парсер URL обновили до Unicode 17

Как мигрировать с Chalk на встроенный styleText в Node

Chalk — популярная библиотека для раскраски вывода в терминале, но в Node есть встроенный styleText, который закрывает большинство типичных кейсов без зависимости. В статье есть подсказки и даже codemod для автоматической миграции. Ссылка на Chalk: Chalk

Коротко

🧠 Ещё интересное

Браузеры

⚒️ Инструменты и библиотеки

Четыре «тяжеловеса» выпустили обновления

За неделю вышло несколько крупных релизов из мира JavaScript (вполне вероятно, вы используете что‑то из этого в проекте):

Обновления

  • jQuery UI 1.14.2 — редкое обновление «классики»: библиотека теперь совместима с jQuery 4.0. Если у вас легаси‑код, новость важная.

  • Reka UI 2.8 (ex‑Radix Vue) — обновление UI‑библиотеки для Vue‑экосистемы (переименование + новый релиз).

  • Lexical 0.40.0 — обновление редактора от Meta (если у вас rich‑text, стоит держать в поле зрения).

  • focus-trap 8.0 — библиотека «запирания фокуса» внутри DOM‑узла (важно для доступности модалок/диалогов). Есть демо.

  • node-hid v3.3.0 — доступ к USB HID‑устройствам (кроме клавиатуры/мыши).

  • MongoDB Node.js Driver v7.1.0 — официальный драйвер MongoDB для Node.

  • pg-boss 12.9.0 — фоновые задачи на базе Postgres.

  • jsdom 28.0 — реализация веб‑стандартов на чистом JS.

  • WebDAV v5.9.0 — клиентская библиотека WebDAV.

  • Результаты опроса State of JS 2025 — данные по индустрии. Отдельно отмечают, что React лидирует по распространённости как фреймворк/библиотека (ссылка), а SolidJS — на первом месте по удовлетворённости (ссылка).

  • Vercel запустили bug bounty — программа вознаграждений за найденные уязвимости, включая проекты вроде Next.js и SWR.

  • Remix выпустили «agent skills» для React Router — набор «умений»/инструкций для агентов, чтобы те лучше работали с роутером (может быть полезно, если вы активно используете AI‑ассистентов для правок кода).

  • DayFlow: календарь для React — «жирный» календарный компонент: drag‑and‑drop, разные представления, бесконечный скролл, стиль “как в Google Calendar”. Репозиторий: GitHub.

  • Buttony: библиотека анимированных кнопок — коллекция эффектов (hover/click/автопроигрывание), полезно для вдохновения и быстрых прототипов.

  • React Grab 1.0 — утилита, чтобы в браузере выделять контекст компонента и кормить им агента для правок.

  • react-resizable-panels 4.6 — ресайз‑панели и layout‑группы; есть демки.

  • next-intl 4.8 — i18n для Next.js: добавили ahead‑of‑time компиляцию ради меньших бандлов и производительности.

  • SWR 2.4 — хук для загрузки данных: кэш, ревалидация, дедупликация запросов.

  • React Image Gallery 2.0 — адаптивная карусель‑галерея изображений.

  • react-native-nitro-sqlite 9.3 — быстрая SQLite‑библиотека для React Native.

  • react-fontawesome 3.2 — официальный React‑компонент для Font Awesome.

  • ESLint React 2.9