Next.js 16 App Router — amit érdemes tudni Pages Router után
A Nortinia 5 frontendjét migráltuk át App Router-re. Mutatjuk, hogy mit nyertünk, mit vesztettünk, mit csinálnánk másként.
A Next.js 16 App Router nem evolúció a Pages után. Egy másik framework, ugyanabban a csomagban.
A Nortinia ötből öt frontendje (nortinia-site, netorigo-app-admin, netorigo-app-storefront, finance-web, logistics-web) Next.js 16 App Router-en fut. Mind az öt migráció 2025 második félévében történt, és mind az öt 2-3 hétig tartott. Az alábbi tanulságok egy éves éles üzemből jönnek.
Amit nyertünk
- Server components — nincs kliens bundle az adatfetchelő komponensekre
- Streaming SSR — a felhasználó gyorsabban látja az első tartalmat
- Nested layouts — megszűnt a "layout wrapper" copy-paste 15 oldalon
- Route groups () — a root layout kényelmesebb verziózása
- Server actions — mutation-ök POST nélkül, 10 sor kevesebb kód PR-enként
Amit vesztettünk
- getServerSideProps egyszerűsége — most a "use server" jelölés kell mindenhol
- Sok third-party library még nem támogatja a server components-et
- A hibaüzenetek homályosabbak — "hydration mismatch" debug 2 óra
- A dev server Turbopackkel gyors, Webpackkel viszont lassabb, mint a Pages Router
- Cache semantics — a revalidate és a Router.refresh néha ellentmondó
Amit másként csinálnánk
Az első migrációnál megpróbáltunk mindent egyszerre — server components, server actions, streaming, új cache. A második migrációnál már szakaszosan haladtunk: először csak a router struktúra cseréje, a komponensek "use client"-ek maradtak. Aztán egy következő release-ben server components. Aztán server actions. Ez 2 héttel hosszabb, de 5x kevesebb bug került production-re.
Ha most indulnál egy zöld-mezős projekttel: használj App Routert az első naptól. A migrációt csak akkor vedd elő, ha a Pages Router már tényleg megfájdul a csapatnak. A "technikai izgalom" nem indok arra, hogy 3 hétre visszafogd a feature szállítást.