React vs Vue vs Svelte vs Astro vs Next.js, con la stessa app

Confronto tra framework frontend

React vs Vue vs Svelte vs Astro vs Next.js: stessa app, misurata | We.Inc

React, Vue, Svelte, Astro e Next.js a confronto con la stessa app todo in ciascuno, dimensioni JavaScript misurate, una tabella di scelta per tipo di progetto, note sulla curva di apprendimento e un riquadro Vite vs webpack.

Scegli in base al progetto, non alla popolarità. Astro è adatto ai siti di contenuti perché le pagine arrivano come HTML con poco o nessun JavaScript. Next.js, basato su React, è adatto alle web app complete. Vue è il più semplice da imparare, e Svelte invia meno codice di tutti. Abbiamo costruito la stessa app todo in ciascuno: Svelte ha inviato 13.8 KB compressi con gzip, Vue 25.8 KB e React 68 KB.

In una riga ciascuno

Le opinioni si trovano facilmente; le misure della stessa app no. Abbiamo scritto una piccola app todo in React, Vue, Svelte e JavaScript puro, l'abbiamo compilata ogni volta con Vite, l'abbiamo provata nel browser e abbiamo misurato ciò che invia. Astro e Next.js sono mostrati con lo stesso componente al suo posto.

Domande frequenti

Next.js è la stessa cosa di React?

No. React è la libreria per l'interfaccia; Next.js è un framework basato su React che aggiunge routing, rendering lato server, Server Components, caricamento dei dati e una configurazione di build. Dentro Next.js scrivi componenti React.

Astro o Next.js per un sito web?

Per i siti guidati dai contenuti come pagine di marketing, blog e documentazione, Astro di solito invia meno JavaScript ed è più semplice. Per i siti simili ad app con login, dashboard e molta interazione, Next.js è più adatto.

Vue è più facile di React?

Molti lo trovano più facile per iniziare, perché i template somigliano all'HTML e la reattività non richiede aggiornamenti immutabili. React chiede prima di imparare JSX e le regole degli hooks, ma ha più librerie e più offerte di lavoro.

Perché il bundle di Svelte è così piccolo?

Svelte compila i componenti in codice semplice di aggiornamento del DOM in fase di build, quindi invia un runtime piccolo invece di un motore di rendering generico.

Meglio Vite o webpack?

Per un progetto nuovo, Vite: parte in fretta e richiede poca configurazione. webpack ha ancora senso nei progetti esistenti che dipendono dai suoi plugin.

La curva di apprendimento, onestamente

Hosting

Che cosa invia ciascuno

Compilato con Vite in modalità produzione; ogni build è stata provata in un browser. Astro e Next.js non facevano parte di questa misurazione.

Misurato: la stessa app todo, JavaScript totale inviato

Quale scegliere

Tabella di scelta per tipo di progetto

Come si confrontano

In sintesi

La stessa app, in cinque modi

React

Lo stato vive negli hooks; ogni cambiamento riesegue il componente e React aggiorna le differenze nel DOM. Gli aggiornamenti devono creare nuovi array e oggetti.

Vue

Script, template e (facoltativamente) stili in un unico file. v-model collega gli input in entrambe le direzioni e i ref sono reattivi, quindi basta aggiungere elementi all'array.

Svelte 5

Le runes ($state, $derived) segnano i valori reattivi, e il compilatore trasforma il componente in aggiornamenti diretti del DOM, ed è per questo che il suo runtime è piccolo.

JavaScript puro

Il riferimento di base. Va bene per un piccolo widget, ma gli aggiornamenti del DOM li scrivi tu e li tieni sincronizzati con i dati a mano.

Astro: la stessa app come island

Astro renderizza la pagina in HTML e fa l'hydration solo dei componenti con una direttiva client. Qui l'app todo in Svelte carica il suo JavaScript quando entra nell'area visibile; il resto della pagina non ne invia.

Next.js: dove va lo stesso componente

Nell'App Router la pagina è un Server Component, quindi la lista todo interattiva va in un file a sé marcato "use client". La pagina intorno non invia JavaScript di componenti propri.

Riquadro: Vite vs webpack

Vite vs webpack

Stai costruendo un sito di contenuti? Vedi anche

generatori di siti statici

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito