Server-first — большой выигрыш в bundle size и data access: fetch в component с async/await, secrets не ship, большая часть tree — zero JS на клиенте.
Разбор
- Цена — новая mental model: network boundary теперь внутри component tree.
- Когда НЕ App Router: маленький fully-static marketing site или heavily client-interactive SPA без server data мало выигрывает и платит RSC learning tax. Сияет при real server data и per-route streaming.
- Persisting layouts — feature и trap: layout не re-run при navigation, data в layout effectively cached на session, пока не force refresh.
Итог
App Router окупается при server data и streaming; для чисто static или pure SPA — взвесьте learning cost.