← Tutti gli articoli

Next.js 14: Server Actions stabili e Partial Prerendering all'orizzonte

30 October 20232 min di lettura

Vercel ha rilasciato Next.js 14 al Next.js Conf di San Francisco: niente nuove API ma le Server Actions diventano stabili e arriva il Partial Prerendering in preview.

Il 26 ottobre 2023, alla Next.js Conf di San Francisco, Vercel ha presentato Next.js 14. Niente nuove API rivoluzionarie, una scelta dichiarata: la 14 è una release di consolidamento. E in produzione è esattamente quello che serviva.

Server Actions GA

Le Server Actions, sperimentali nella 13.4, sono ora stabili. Sono funzioni server-side invocabili direttamente da un form o da un evento client, senza dover scrivere route API esplicite. Per le mutazioni — il 90% dei form business — eliminano una intera categoria di codice ripetitivo.

"use server";

export async function createLead(formData: FormData) {
  const email = formData.get("email");
  await prisma.lead.create({ data: { email } });
  revalidatePath("/admin/leads");
}

Il vantaggio reale è la colocation: la logica di mutazione vive accanto al componente che la usa, e non in una API route lontana cinque cartelle. Il rovescio della medaglia è la disciplina: ogni Server Action è un endpoint pubblico, va validato con Zod e protetto con le check di autorizzazione.

Partial Prerendering in preview

L'altra novità è il Partial Prerendering (PPR), ancora dietro flag. L'idea è mescolare in una stessa pagina parti statiche e parti dinamiche, servendo subito il guscio statico e streamando il resto. È la sintesi tra SSG e SSR che molti chiedevano da anni.

Per ora è una preview e cambierà ancora: in SEM Devs lo stiamo testando solo in ambienti di staging. Ma il pattern è quello giusto e merita di essere studiato.

Turbopack più veloce

Il bundler scritto in Rust è ancora opt-in (next dev --turbo), ma la 14 dichiara che 5000 dei 5500 test dell'App Router passano con Turbopack. Sui nostri progetti più grandi il dev server parte in 1,8 secondi contro i 6,5 di webpack. Per build di produzione restiamo invece su webpack: la stabilità conta più della velocità.

Cosa adottare subito

  • Server Actions per i form interni: dashboard, admin, intranet. Il payoff è immediato.
  • Server Actions per gli endpoint pubblici: solo dopo aver definito uno schema Zod e una libreria di error handling condivisa.
  • Turbopack in dev: zero rischi e tempi di iterazione molto migliori.
  • PPR: aspettare. Ottimo da seguire, da non mettere ancora in produzione.

Il tema della 14 è "less new, more done". Non è una versione che fa rumore. È quella che ci permette di dormire più tranquilli mentre spediamo software.