Guide

Cos'è Next.js? Una guida in linguaggio semplice per chi costruisce app

Next.js è un framework per costruire siti web e app web con React. React ti dà i mattoncini di un'interfaccia (pulsanti, moduli, liste). Next.js aggiunge il resto del sito intorno a essi: pagine e URL, il rendering delle pagine sul server così arrivano già pronte da leggere, il caricamento dei dati e l'esecuzione del codice di backend nello stesso progetto. È open source, sviluppato dalla società Vercel, ed è uno dei modi più diffusi per costruire siti React.

Perché Next.js conta quando costruisci con l'AI

Quando descrivi un'app a un app builder AI, questo deve scegliere una base tecnica. La scelta influisce su aspetti che ti interessano più avanti:

  • Visibilità nei motori di ricerca. Un sito pubblico che deve posizionarsi su Google beneficia dell'invio di HTML reale, cosa che Next.js fa bene.
  • Dove vive il backend. Next.js permette che pagine frontend e codice server (come «salva questo modulo» o «chiama l'API di pagamento») vivano in un unico progetto.
  • Hosting. Un'app Next.js con funzioni server ha bisogno di un server su cui girare, mentre un'app Vite semplice può essere servita come file statici.

Mythex avvia i nuovi progetti di default con Vite + React + TypeScript + Tailwind, e usa Next.js quando lo chiedi: basta «Usa Next.js» nel primo prompt (come viene scelta la tecnologia). Quindi conviene sapere quando vale la pena chiederlo.

Un esempio quotidiano

Se React è una scatola di mattoncini Lego di alta qualità, Next.js è un set Lego con le istruzioni, la base e i pezzi per porte e impianti già inclusi.

Potresti costruire la stessa casa con mattoncini sciolti, ma dovresti decidere da solo come collegare le stanze, dove mettere la porta d'ingresso e come far arrivare l'acqua. Next.js prende quelle decisioni per te in modo standard, quindi ogni progetto Next.js ha una struttura simile e un nuovo sviluppatore (o un'AI) riesce a orientarsi in fretta.

Cosa aggiunge Next.js a React

FunzioneCosa significa per te
Routing basato sui fileOgni pagina è un file. Un file in app/pricing/page.tsx diventa la pagina /pricing. Nessuna configurazione extra.
Rendering lato serverLe pagine possono essere costruite in HTML sul server a ogni richiesta, così appaiono subito e i motori di ricerca le leggono.
Generazione staticaLe pagine che cambiano raramente possono essere costruite una volta in anticipo e servite molto velocemente.
Server ComponentsParti di una pagina possono girare solo sul server, leggendo direttamente il database, e inviano al browser HTML finito, non codice.
Route handler e server actionIl codice di backend, come un endpoint API o un gestore di moduli, vive nello stesso progetto delle pagine.
Ottimizzazioni integrateRidimensionamento delle immagini, caricamento dei font e suddivisione del codice sono gestiti per te.

Next.js ha due modi di organizzare le pagine. Il App Router (la cartella app/) è il più recente e supporta i Server Components. Il Pages Router (la cartella pages/) è l'originale ed è ancora supportato. I nuovi progetti usano in genere l'App Router. Se il codice del tuo app builder AI o un tutorial ti sembra poco familiare, spesso è per questo motivo.

Esempio pratico: un elenco pubblico di bar della tua città

Immagina un sito che elenca i bar della tua città, con una pagina per ogni bar, che vuoi far comparire nei risultati di ricerca.

Una pagina Next.js per un singolo bar potrebbe apparire più o meno così:

// app/cafes/[slug]/page.tsx  →  /cafes/blue-door, /cafes/hilltop ...
export default async function CafePage({ params }) {
  const { slug } = await params;
  const cafe = await db.cafe.findUnique({ where: { slug } });
  return (
    <main>
      <h1>{cafe.name}</h1>
      <p>{cafe.address}</p>
    </main>
  );
}

Cosa succede quando qualcuno (o Google) visita /cafes/blue-door:

  1. Next.js associa l'URL a quel file. La cartella [slug] significa «qualsiasi bar».
  2. Il componente gira sul server, legge il bar dal database e costruisce l'HTML.
  3. Il browser riceve una pagina completa con nome e indirizzo del bar già presenti, senza attendere che JavaScript recuperi i dati.

Con un'app React semplice lato client, il browser riceverebbe prima una pagina quasi vuota, poi scaricherebbe JavaScript, poi recupererebbe il bar e infine lo mostrerebbe. I motori di ricerca spesso riescono a gestirlo, ma una pagina già completa è più affidabile. Vedi SEO per siti costruiti con l'AI.

Confronta con una dashboard riservata allo staff dietro un login: i motori di ricerca non la vedono comunque, quindi il rendering lato server porta meno benefici, e un'app Vite più semplice è spesso la scelta migliore.

Termini chiave

TermineSignificato
FrameworkUna struttura con convenzioni che decide come è organizzata un'app. Next.js è un framework; React è una libreria.
SSR (rendering lato server)Costruire l'HTML di una pagina sul server a ogni visita.
SSG (generazione statica)Costruire le pagine in HTML in anticipo, al momento del deploy.
CSR (rendering lato client)Il browser costruisce la pagina con JavaScript dopo il caricamento. È così che funziona una tipica app Vite + React.
SPA (single-page application)Un'app che si carica una volta e cambia vista nel browser senza ricaricare la pagina.
Idratazione (hydration)Il browser «si attiva» sull'HTML inviato dal server, così pulsanti e moduli diventano interattivi.
RouteUn percorso URL come /pricing e il codice che lo gestisce.

Errori comuni e idee sbagliate

  • «Next.js sostituisce React». No. Usa React. I tuoi componenti sono ancora componenti React.
  • «Next.js è sempre la scelta migliore». È più potente, ma anche più complesso da capire. Il rendering lato server, la cache e la differenza tra codice server e client sono fonti comuni di bug difficili da capire. Per un'app che sta per lo più dietro un login, un'app React semplice è spesso più facile.
  • «Next.js gira solo su Vercel». È open source e può girare su qualsiasi server Node.js o in un container Docker. È possibile un'esportazione completamente statica se non usi funzioni server.
  • «Usare Next.js garantisce una buona SEO». Rende più facili le pagine leggibili. Il posizionamento dipende ancora da titoli, contenuti, velocità e link.
  • «Il codice server in Next.js è automaticamente privato». Il codice destinato al client finisce nel browser. I segreti devono restare nel codice solo server e nelle variabili d'ambiente.

Cosa chiedere al tuo app builder AI

  • «Usa Next.js con l'App Router», nel primo prompt, se lo vuoi.
  • «Quali pagine vengono renderizzate sul server, quali sono statiche e quali girano nel browser, e perché?»
  • «Rendi le pagine pubbliche di marketing e di elenco renderizzate sul server o statiche, con titoli e descrizioni corretti.»
  • «Tieni le chiavi API nel codice solo server e nelle variabili d'ambiente. Mostrami dove viene letta ciascuna.»
  • «Questa app ha bisogno di Next.js, o un'app Vite + React sarebbe più semplice per ciò che stiamo costruendo?»

Next.js in Mythex

Mythex usa di default Vite + React + TypeScript + Tailwind e passa a Next.js quando lo chiedi nel prompt; nominarlo subito fa risparmiare crediti rispetto a cambiarlo in seguito. Vedi l'app nell'anteprima dal vivo, e Pubblica la rende disponibile su un URL attivo senza che tu debba configurare l'hosting. La documentazione di Mythex segnala che le single-page app renderizzate lato client hanno una SEO più debole rispetto all'HTML renderizzato sul server o statico, quindi per un sito di marketing in cui conta la ricerca vale la pena dirlo subito (SEO per la tua app).

Domande

Cos'è Next.js in parole semplici?

Next.js è un framework costruito sopra React. React costruisce i pezzi di un'interfaccia utente; Next.js aggiunge il resto del sito web intorno a essi (pagine e URL, rendering sul server, caricamento dei dati e codice di backend), così puoi costruire un'app web completa in un unico progetto.

Qual è la differenza tra React e Next.js?

React è una libreria per costruire componenti d'interfaccia. Next.js è un framework che usa React e aggiunge routing, rendering lato server, pagine statiche e codice server. Ogni app Next.js è un'app React, ma non ogni app React usa Next.js.

Next.js è migliore per la SEO?

Può esserlo. Next.js può inviare ai motori di ricerca e ai visitatori HTML completo, dal server o da pagine statiche pre-costruite, mentre un'app React client-side invia una pagina quasi vuota che JavaScript riempie in seguito. Titoli, descrizioni e contenuti di qualità contano comunque più del framework.

Mi serve Vercel per usare Next.js?

No. Next.js è open source e sviluppato da Vercel, ma può girare su qualsiasi server che esegue Node.js, in un container Docker, o come esportazione statica per i siti che non hanno bisogno di funzioni server. Alcune funzioni sono più facili da configurare su Vercel.

Per la mia app devo usare Next.js o Vite?

Per un'app con login, come una dashboard o uno strumento interno, un'app Vite + React è più semplice e funziona bene. Next.js conviene quando ti servono contenuti che i motori di ricerca leggono facilmente, molte pagine pubbliche o pagine renderizzate sul server nello stesso progetto del codice di backend.

Mythex · Pricing · Crea qualsiasi cosa con l'AI · Template per siti web e app · Mythex a confronto · Glossario per creare app con l'AI · Strumenti gratuiti per creare app con l'AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)