Inovácia je súčasťou našej firemnej DNA. Vždy sa snažíme sledovať trendy a framework Next.js sme si vybrali dávno, roky dozadu, keď ešte nebol vôbec rozšírený. Videli sme v ňom potenciál a skutočne sa s ním robí skvelo. Včera (26.10.2023) bol ohlásený nový Next.js 14, obsahujúci viacero zmien. Na túto virtuálnu konferenciu sme nedočkavo čakali a preto prinášame zjednodušený súhrn zmien. Téme sa budeme venovať hlbšie, keď si reálne vyskúšame zmeny a pohráme sa s novinkami.
Zaujímavosť: Náš web, na ktorom čítate tento článok, už beží na Next.js 14, ani nie 12 hodín od konferencie :). Sme nedočkaví a radi testujeme novinky.
1. Vylepšenie kompilátora (Compiler Enhancement):
Rýchlejší vývoj a zlepšenie výkonu sú neustále v hľadáčiku vývojárov Next.js. Táto aktualizácia prináša významný posun v oblasti kompilácie a rýchlosti spustenia servera.
- Rust-based kompilátor Turbopack sa blíži k stabilite s až 94,7% rýchlejšími aktualizáciami kódu.
- Lokálny server štartuje o 53.3% rýchlejšie, čo urýchľuje proces vývoja.
2. Formuláre a Mutácie (Forms and Mutations):
Optimalizácia práce s dátami a ich manipulácia sú kľúčové pre efektívny vývoj. Tento aspekt je ešte dôležitejší v podmienkach pomalého internetového pripojenia alebo slabších zariadení.
- Server Actions umožňujú bezpečné spustenie serverových funkcií priamo z React komponentov.
- Výrazné zlepšenie užívateľskej skúsenosti aj na pomalých sieťach alebo na menej výkonných zariadeniach.
3. Čiastočné Predrenderovanie (Partial Prerendering (Preview)):
Táto nová funkcionalita prináša kombináciu rýchleho statického obsahu a dynamického zobrazovania, a to všetko bez potreby učenia sa nových API.
- Optimalizácia kompilátora pre dynamický obsah s rýchlou počiatočnou statickou odpoveďou.
- Staví na technológii React Suspense a umožňuje generovanie statického shellu založeného na hraniciach Suspense.
4. Vylepšenia Metadát (Metadata Improvements):
Správna manipulácia s metadátami je zásadná pre plynulú užívateľskú skúsenosť a predchádzanie nesúrodostiam pri zobrazovaní obsahu.
- Nové možnosti pre viewport a generateViewport nahradzujú zastaralé možnosti.
- Zabezpečuje, že dôležité metadáta sú odoslané spolu s počiatočným obsahom stránky, aby sa predišlo blikaniu alebo posúvaniu rozloženia.
5. Ďalšie Zmeny:
Každá verzia prináša niekoľko zlomových zmien a vylepšení, ktoré sú zamerané na uľahčenie práce vývojárom a zvýšenie výkonu aplikácií.
- Minimálna verzia Node.js je teraz 18.17 a boli vykonané ďalšie zlomové zmeny ako prechod na
next/font
z @next/font
.
- Vylepšená správa pamäte pri používaní edge runtime vo vývoji a 80% menšia funkčná veľkosť pre základnú aplikáciu create-next-app.
- [Bez spätnej kompatibility] Minimálna verzia Node.js je teraz 18.17
- [Bez spätnej kompatibility] Odstránené ciele WASM pre zostavenie next-swc (PR)
- [Bez spätnej kompatibility] Zrušená podpora pre @next/font v prospech next/font (Codemod)
- [Bez spätnej kompatibility] Zmenený import ImageResponse z next/server na next/og (Codemod)
- [Bez spätnej kompatibility] Príkaz next export je zastaraný v prospech output: 'export' (Dokumentácia)
- [Zastarané] onLoadingComplete pre next/image je zastarané v prospech onLoad
- [Zastarané] domény pre next/image sú zastarané v prospech remotePatterns
- [Funkcia] Možné je povoliť podrobnejšie zaznamenávanie okolo ukladania do vyrovnávacej pamäte (Dokumentácia)
- [Vylepšenie] O 80% menšia veľkosť funkcie pre základnú aplikáciu create-next-app
- [Vylepšenie] Vylepšená správa pamäte pri používaní edge runtime vo vývoji