Nazad na vijesti

Next.js App Router: Zašto smo prešli i nikad se nismo osvrnuli

Nakon godina korišćenja Pages Routera, prebacili smo cjelokupan radni tok na App Router. Šta se promijenilo, šta se pokvarilo i zašto bismo to ponovili.

Kada je Next.js predstavio App Router, zajednica se podijelila. Neki su ga odmah prihvatili, drugi su ga nazvali prekomplikovanim. Mi smo sačekali, eksperimentisali i na kraju prebacili sve nove projekte na App Router. Bila je to prava odluka.

Šta smo dobili

Server komponente podrazumijevano. Najveća prednost je što komponente ne šalju JavaScript klijentu osim ako je to potrebno. Veličine naših bundle-ova su se značajno smanjile. Stranice koje su imale 200KB klijentskog JS-a postale su 40KB jer se većina renderovanja dešava na serveru.

Višeslojni rasporedi (Nested Layouts). Zajednički UI (zaglavlja, bočne trake, navigacija) koji ostaje prisutan kroz promjene ruta bez ponovnog renderovanja. Ovo je bilo bolno postići sa Pages Routerom, a sada je ugrađeno u model rutiranja.

Streaming i Suspense. Možemo prikazati stanja učitavanja za spore podatke bez blokiranja cijele stranice. Okvir se renderuje odmah, a sadržaj se popunjava kako podaci stižu. Korisnici doživljavaju stranicu kao bržu čak i kada je ukupno vrijeme učitavanja slično.

Kolokacija. Postavljanje loading.js, error.js i page.js u isti direktorijum čini bazu koda mnogo lakšom za navigaciju. Sve što se odnosi na jednu rutu živi zajedno.

Šta je bilo bolno

Granica 'use client' je zahtjevala vrijeme za usvajanje. Razumijevanje kada vam je potrebna klijentska interaktivnost nasuprot serverskog renderovanja zahtjeva promjenu mentalnog modela. Imali smo nekoliko sedmica debagovanja neslaganja hidratacije prije nego što nam je sve sjelo na svoje mjesto.

Kompatibilnost biblioteka trećih strana je u početku bila problematična. Mnoge React biblioteke su pretpostavljale klijentsko renderovanje. Većina se do sada prilagodila, ali početkom 2025. to je bila prava prepreka.

Zaključak

App Router je sada naš podrazumijevani izbor za svaki projekat. Same performanse dovoljno opravdavaju krivulju učenja. Ako ste još uvijek na Pages Routeru, nema žurbe da migrirate postojeće projekte. ali za sve novo, App Router je pravi put.