Разработка 20 декабря 2025 · 2 мин чтения 271 0

React Server Components: год в production — выводы

React Server Components (RSC) — архитектура, при которой компоненты рендерятся на сервере и передаются клиенту без JavaScript — провела первый полноценный год в production. Тысячи команд внедрили RSC через Next.js App Router. Результаты — неоднозначные: концепция работает, но сложность реализации превысила ожидания.

Что работает

Скорость начальной загрузки: страницы с RSC загружаются быстрее, потому что серверные компоненты не отправляют JavaScript клиенту. SEO: контент рендерится на сервере — поисковики видят полную страницу, а не пустой div. Уменьшение бандла: серверные компоненты не попадают в клиентский JavaScript, что снижает размер загрузки.

Что не работает

Когнитивная сложность: разработчики должны думать о границе между «серверным» и «клиентским» кодом при каждом компоненте. Директивы use client и use server добавляют ментальную нагрузку, которой раньше не было. Отладка: ошибки, возникающие на границе сервер/клиент, сложнее диагностировать. Экосистема: не все библиотеки совместимы с RSC — переход требует аудита и обновления зависимостей.

Безопасность: React2Shell (CVE-2025-55182) показала, что RSC расширяет поверхность атаки — серверные компоненты обрабатывают пользовательский ввод на сервере, и уязвимости в этом слое критичнее, чем на клиенте.

Вывод за год: RSC — правильная архитектура для новых проектов, но миграция существующих — болезненна. Команды, которые начали с RSC «с нуля», довольны. Команды, мигрировавшие с Pages Router, потратили больше времени, чем планировали. React Compiler 1.0 (октябрь 2025) частично компенсирует сложность, автоматизируя оптимизацию — но не упрощает саму модель.