Next.js 15 (App Router + RSC)
Mein Verdikt
Standardwahl für applikationslastige Headless-Frontends. RSC nach 18 Monaten in Produktion stabil.
Praktiker-Briefing
Warum wir es eingeführt haben
Zwischen November 2025 und April 2026 haben wir vier Client-App-Shells auf Next.js 15 ausgeliefert. TTFB auf einer personalisierten Dashboard-Route, gestreamt aus RSC plus PPR (Partial Prerendering, RFC vercel/next.js#54647 von Sebastian Markbåge und Andrew Clark): Die Shell rendert bei 240 ms, der personalisierte Slot streamt in unter 800 ms nach. Dieselbe Ansicht in der vorherigen pages-router-App des Kunden war eine TTFB-Wand von 1,6 s, die auf ein einziges getServerSideProps wartete. Die Build-Zeiten gingen von 9 min auf 6 min zurück, sobald Turbopack in next build stabil war (15.2). Das Bundle des Merchant-Dashboards fiel von 410 KB gzipped auf 230 KB nach RSC plus selektivem 'use client'.
Wann wir darauf zurückgreifen
Applikationsförmige Briefings: Dashboards hinter Login, mehrstufiger Checkout, B2B-Portale mit rollenbasierter UI, personalisierte Commerce-Listings, die gestreamte Slots above the fold brauchen. Redaktionelle Flächen gehen an Astro 5. RSC-Streaming schadet, wenn die Payloads klein sind, wenn ein einziger langsamer Upstream den Vorteil zunichtemacht oder wenn das Team 'use client' auf Layout-Ebene ausliefert.
Upgrade-Pfad
Von Next.js 14 pages router ist die Migration ein echtes Projekt, kein Flag-Flip. Lee Robinsons Codemod (@next/codemod app-dir) übernimmt die Dateistruktur, kann aber nicht über die Form des Data-Fetchings urteilen. Die restliche Arbeit besteht darin, Komponenten in Server- und Client-Ebenen zu schneiden und zu erkennen, welche Contexts unterhalb einer 'use client'-Grenze liegen. Rechnen Sie mit zwei Engineering-Wochen für eine App mit 40 Routen, mit drei bei geteiltem Cart- oder Auth-Context. Von Remix v2 ist der Umzug schwerer als erwartet: Loaders und Actions sind ein anderes Denkmodell als RSC plus Server Actions. Was nicht mitwandert: Client-only-Redux-Stores, getInitialProps, die meisten pages-router-Middlewares.
Zwei Narben aus dem Produktivbetrieb
Erstens hat RSC-Streaming plus Tailwind v4 plus edge runtime im Februar 2026 die dynamische Klassenerzeugung in einem B2B-Portal zerlegt. Tailwinds JIT-Scanner läuft, bevor die Server-Komponente rendert, deshalb sind Klassen, die innerhalb von RSC-Payloads interpoliert werden, für ihn unsichtbar. Fix: die Permutationen vorab in der safelist in tailwind.config.mjs deklarieren. Zweitens wurden Server Actions plus der OpenNext-Cloudflare-Adapter bei einem Checkout-Retry doppelt aufgerufen: Ein Nutzer tippte innerhalb von 800 ms zweimal auf Pay, und wir haben die Karte zweimal belastet. Der Fix kam in OpenNext 3.4 (sst/opennext PR #492), zusätzlich haben wir ein Idempotency-Key-Cookie ergänzt, damit auch ältere Adapter-Builds folgenlos bleiben.
Was wir beobachten
Partial Prerendering GA in Next.js 15.5 erlaubt uns, nicht länger zwei Render-Strategien auf derselben Route zu pflegen (vercel/next.js#54647). useOptimistic aus React 19.1 plus typisierte Server-Action-Ergebnisse vereinfachen den Cart-Update-Pfad. Wir beobachten außerdem die after()-API für Arbeit nach der Response und OpenNexts Fortschritt bei der Workers-Parität für ISR (sst/opennext Milestone 4.0).
Hinzugefügt: 2026-04-26 · Letzte Sichtung: 2026-04-26