React

Next.js vs Vite per un sito marketing: il criterio è l’HTML

Next.js serve quando ogni pagina deve essere HTML prima del JavaScript; Vite quando il sito è una pagina e il build deve restare veloce. Numeri e test da fare.

In sintesi

  • Next.js conviene quando ogni pagina deve esistere come HTML prima del JavaScript.
  • Al 1 novembre 2026 il tag next.js ha 41.492 domande su Stack Overflow e vite 6.809.
  • Vite non è un meta-framework: routing e prerender per rotta vanno aggiunti.
  • Dei 1.556 blocchi del catalogo, 1.459 dichiarano «see source» come licenza: va verificata.

Per un sito marketing Next.js conviene quando le pagine devono esistere come HTML prima che il browser esegua JavaScript; Vite conviene quando il sito è una pagina sola con poche rotte e il build deve restare veloce. Il criterio è quante pagine devono essere indicizzabili, non quale framework è più moderno.

Il volume delle domande descrive la complessità che ciascuno strumento porta con sé: al 1 novembre 2026 il tag `next.js` conta 41.492 domande su Stack Overflow e `vite` 6.809, sei volte meno. Il catalogo EneUI conta 1.556 blocchi pronti: 1.459 dichiarano «see source» come licenza e 97 dichiarano MIT.

Cosa deve fare un sito marketing

  • Essere indicizzabile: crawler e anteprime social leggono l’HTML, non il risultato dell’idratazione.
  • Caricare in fretta: la landing è la pagina con il LCP peggiore, perché porta immagini e font.
  • Gestire un form: contatti, demo, newsletter. Serve un endpoint e uno stato di errore.
  • Restare economico: poche rotte, deploy frequente, nessun servizio che scala da solo.

Le rotte che decidono

Tipo di paginaNext.jsViteNota
LandingHTML generatoHTML vuoto senza prerenderSEO e anteprima social
Pagine legaliStaticheStaticheNessuna differenza
Form contattiRoute handler o server actionEndpoint esternoDipende dall’hosting
DeployRuntime Node oppure export staticoFile staticiCosto e superficie di attacco

Dove Next.js paga il conto

Next.js aggiunge un server, una cache e il confine tra server component e client component. Sono tre concetti che il team deve conoscere, e sono la ragione per cui il tag `next.js` ha 41.492 domande: la maggior parte degli errori nasce da quel confine, non dal CSS.

Se il sito è una landing con un form, quel costo non produce nulla. Se invece hai dieci pagine prodotto e un blog, la generazione statica per rotta e la gestione dei metadati si ripagano nella prima settimana.

Dove Vite paga il conto

Vite produce un bundle e un `index.html` con un contenitore vuoto. Il contenuto arriva dopo l’esecuzione del JavaScript, quindi crawler lenti e anteprime social vedono una pagina senza testo. La soluzione è un passo di prerender, che va configurato e mantenuto.

Il test in mezz’ora

# il sito marketing minimo con Vite
npm create vite@latest sito-marketing -- --template react-ts
cd sito-marketing && npm install && npm run build

# quello che il crawler riceve davvero
node -e "console.log(require('fs').readFileSync('dist/index.html','utf8').length)"

Se il numero è sotto i duemila byte, l’HTML contiene solo lo scheletro: il testo della landing è nel bundle. Lo stesso controllo su Next.js mostra l’HTML della pagina, perché è stato generato prima della richiesta.

Il limite da mettere per iscritto

Limite dichiarato di Vite: non è un meta-framework. Non ha routing, generazione statica per rotta né rendering sul server: chi ha bisogno di HTML per ogni URL aggiunge un plugin o cambia strumento. Per un sito marketing con una sola pagina il limite non si vede; con dieci pagine indicizzabili diventa il costo principale.

Licenze e costi

Next.js è MIT e Vite è MIT, quindi la licenza non decide. Decide l’hosting: file statici costano meno di un runtime Node che deve restare acceso. I blocchi copiati sono un secondo controllo: 1.459 dei 1.556 dichiarano «see source», quindi la licenza va verificata record per record prima di pubblicare.

Le hero si cercano in /blocks/category/hero, le sezioni prezzi in /blocks/category/pricing e i componenti di pagina in /components/cat/hero. Per il routing e i confini del framework leggi la struttura di Next.js App Router, per capire cosa deve contenere la pagina a cosa serve un sito web; il confronto tra basi possibili è in WordPress, Wix o componenti React.

Domande frequenti

Next.js è obbligatorio per un sito marketing?

No. Serve quando le pagine devono essere HTML prima del JavaScript. Un sito a pagina singola funziona con Vite e un passo di prerender.

Vite può generare HTML statico per ogni rotta?

Sì, con un plugin di prerender o un meta-framework costruito sopra Vite. Non fa parte della configurazione base.

Quale dei due è più veloce in sviluppo?

Vite avvia più in fretta un progetto piccolo. Next.js aggiunge compilazione del server, cache e confine tra componenti.

Next.js costa di più?

Dipende dall’hosting: un runtime Node costa più di file statici. Il codice è MIT in entrambi i casi.

Posso passare da Vite a Next.js dopo?

Sì, se le rotte sono poche e i componenti non dipendono dal router. Il costo è nel routing e nel caricamento dei dati.