Еженедельный дайджест #8: Новости фронтенда
Как читать этот дайджест
- Начните с заголовков статей, чтобы получить общее представление о содержании
- Быстро пробегитесь по первым абзацам, чтобы понять актуальность материалов именно для вас
- Выберите наиболее интересные или полезные темы под текущие задачи
- Планируйте чтение: выделите, например, 15 минут утром и 15 минут вечером
- Не пытайтесь прочитать всё сразу — возвращайтесь к дайджесту в удобное время
- При повторном просмотре читайте выбранные статьи более вдумчиво, делая заметки
- Не сожалейте, если прочитали лишь часть: ценность в качестве, а не в количестве
- Используйте закладки для сохранения интересных материалов
- Делитесь инсайтами и ссылками с коллегами — так информация лучше усвоится

🧪 HTML и API
🔍 Запрет Apple на сторонние движки браузеров сохраняется, несмотря на закон DMA
Автор критикует Apple за то, что она формально соблюдает требования Евросоюза, но по сути не даёт разработчикам браузеров использовать свои движки на iOS. Хороший повод вспомнить, как важна конкуренция в экосистеме веба.
🎯 “Я больше всего горжусь этими 128 килобайтами”
Майк Холл делится историей, как он сделал компактный веб-проект, который уместился в 128 КБ. История о том, как ограничения могут стимулировать креативность и напомнить, что не все пользователи имеют быстрый интернет и мощные устройства.
- 🧪 Firefox 141 добавит поддержку WebGPU — сначала для Windows, позже для macOS и Linux.
- 🧪 WebAssembly: зачем он нужен? — обзор областей применения WASM в браузере и на сервере.
- 🛠 Chili3D — CAD на WebAssembly + Three.js — пример “почти нативной” производительности в браузере.
- 🙏 Нужен ARIA Notify — призыв к поддержке API для уведомлений в ARIA.
- 🧭 Как использовать роли и свойства ARIA правильно
- 📦 Почему я снова пишу на чистом HTML и CSS в 2025
- 🧠 Как AI влияет на продуктивность open source-разработчиков
- 🧭 Когда стоит сохранять позицию прокрутки
- 🎭 Шаблоны, а не AI, убили креативность в дизайне
- Web Speech API — озвучка сайта
🎨 CSS и дизайн
- 📐 Установка длины строки и подгонка текста в CSS — как использовать
clamp()
,calc()
и другие инструменты для адаптивной типографики. - 🧱 Мультиколонки и фрагментация в CSS — доклад Рэйчел Эндрю о поддержке CSS-колонок и их особенностях.
- 🌀 Scroll-Driven Sticky Heading — интересный пример динамичных заголовков с прокруткой.
- 💡 Свойство
animation-composition
— помогает управлять наложением CSS-анимаций.
Присоединяйтесь Telegram-каналу
Получайте уведомления о новых дайджестах, обсуждайте новости с коллегами и делитесь своим опытом в дружелюбном сообществе фронтенд-разработчиков
🌐 JavaScript
Викторина по датам в JavaScript
Работа с датами в JavaScript может свести с ума. Эта викторина проверит, насколько хорошо ты знаешь поведение Date
. Подходит, если хочешь понять, почему всё так странно и когда ждать новую Temporal API.
Promise.all(), но лучше
Разбираемся, как можно улучшить Promise.all()
с помощью TypeScript-утилит. Упрощает работу с асинхронным кодом, делая его более читаемым и надёжным.
Vue 3.6 Alpha и режим Vapor
Предварительный релиз Vue 3.6 с новым режимом Vapor, который делает компоненты более компактными и быстрыми.
⚛️ React
История React в коде
Если вы начали пользоваться React не с самого начала, эта статья поможет понять, откуда он взялся, как развивался и почему в API происходили важные изменения. Очень крутой обзор для тех, кто хочет глубже понимать философию React.
Создание клонов Google Photos на React Native
Разбор, как создать клон приложения галереи с нуля: работа с фото, интерфейс, логика. Отличный практический кейс.
Next.js 15.4 и планы на 16
Небольшой релиз с акцентом на производительность и поддержку Turbopack. Также авторы делятся, что появится в 16-й версии. Интересно, если вы следите за экосистемой Next.js.
Три года миграции с классов на хуки
Команда делится опытом, как они переводили огромное React-приложение с классов и MobX на функциональные компоненты и хуки. Это может помочь, если вы сами находитесь в середине такой трансформации.
- Как тестировать React Server Components — хакерский, но рабочий способ.
- Синхронизация стора между несколькими окнами Tauri — пригодится, если вы делаете десктопное приложение.
⚙️ Node.js
Node v24.4.0 (current версия) вышла
Новая версия добавляет флаг --watch-kill-signal
— он управляет тем, какой сигнал отправляется процессу при перезапуске в режиме наблюдения (watch mode
). Также улучшена работа с spawn
и spawnSync
, которые теперь передают флаги permission-модели. Обновлены движок V8 и зависимости.
Предложение: переход на ежегодные мажорные релизы Node.js
Обсуждается идея выпускать новые основные версии Node.js раз в год. При этом срок поддержки стабильных (чётных) релизов сократится с 30 до 24 месяцев. Мнение сообщества приветствуется.
Node.js v18 — EOL, но поддержка через Ubuntu Pro до 2032
Официально поддержка Node.js 18 завершилась, но Canonical продолжит выпускать обновления для пользователей Ubuntu Pro до 2032 года.
Node-API теперь доступен в React Native
Callstack добавила поддержку Node-API в React Native. Это открывает больше возможностей для переиспользования нативного кода между платформами.
Анонс TypeScript 5.9 Beta
Главное нововведение — поддержка import defer
, которая позволяет откладывать загрузку модулей. Также появился режим node20
, аналогичный nodenext
, но ориентированный на ES2023. Кроме того, Go-версия TypeScript скоро станет официальной частью TypeScript 7.
- Производительность менеджеров версий Node.js — сравнение скорости запуска оболочки при использовании различных nvm-обёрток. Спойлер: разница может достигать 500 раз, но в реальности это не всегда важно.
🧠 Обучение и статьи
Как создать NPM-пакет в 2025
Полезный гайд от Matt Pocock по созданию npm-пакетов: как всё правильно оформить, какие инструменты использовать и как всё автоматизировать.
ESLint 9.31.0
Обновление правил для поддержки управления ресурсами.
⚒️ Инструменты и библиотеки
- Necord — фреймворк для создания Discord-ботов на базе Nest и Discord.js. Пример показывает, как просто это сделать, репозиторий на GitHub.
- Upyo — кросс-платформенная библиотека отправки email, работает с SMTP и HTTP-провайдерами (например, SendGrid, Amazon SES).
- Rewire 9.0 — моки и патчи в unit-тестах: даёт доступ к приватным переменным и позволяет заменять зависимости (только CommonJS).
- Envalid 8.1 — проверка переменных окружения: теперь можно убедиться, что приложение запускается только при наличии всех необходимых переменных.
- cRonstrue 3.0 — понятное описание cron-выражений: поддерживает ~30 языков и имеет демо.
- react-easy-crop — компонент для кадрирования изображений и видео. Есть репозиторий на GitHub.
- ReactPlayer 3.2 — универсальный плеер для YouTube, Vimeo, HLS, DASH. Демо здесь.
- Hyper Fetch — современная альтернатива Axios и TanStack Query. Много фичей и поддержка Swagger/OpenAPI.
- WebGL-эффекты погоды — дождь, снег и туман в вашем браузере. Смотрите демо.
- 📊 SveltePlot — библиотека визуализаций для Svelte, построенная на D3.
- 📘 Eleventy LibDoc — шаблон для создания красивой документации.
- 🧩 SplitThing — делит изображение на сетку и позволяет скачать кусочки.
- 📚 Design Tokens Glossary — глоссарий по токенам дизайна.
- 🖼 Pandabox для Astro — галерея со световым боксом.
- 🔍 Проверка SSR — инструмент для проверки, что рендерится на сервере.
- ✍️ FontGen — подбор шрифтов по категориям.
- Hyper Fetch — альтернатива Axios и TanStack Query с поддержкой типизации и OpenAPI.
- GrowField — авторасширяющийся
textarea
без зависимостей. - Upyo — кросс-платформенная библиотека для отправки email’ов.
- Tinybase 6.4 — реактивное хранилище данных для локальных приложений.
- MUI X 8.8 — обновление популярных компонентов для React.
Новые версии
- ESLint 9.31.0 — поддержка управления ресурсами.
- Serverless Express 4.17 — Express.js на AWS Lambda и других платформах.
- NATS.js 3.1 — клиент для системы обмена сообщениями.
- open 10.2 — открытие ссылок и файлов кросс-платформенно.
- OpenAI Node 5.9 — официальный клиент для API OpenAI.
- snakecase-keys 9.0 — преобразование ключей объекта в snake_case.
- Poolifier 5.1 — управление worker-пулами в Node.js.
- react-medium-image-zoom 5.3 — зум картинок как на Medium. Примеры.
- Wasp 0.17 — фреймворк в стиле Rails на базе React и Node.js. Проект.
- React Chessboard 5.2 — компонент шахматной доски. Примеры.
- Tinybase 6.4 — реактивное хранилище для локальных приложений.
- MUI X 8.8 — набор UI-компонентов для React.