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

Comparativa de frameworks frontend

React vs Vue vs Svelte vs Astro vs Next.js: la misma app, medida | We.Inc

React, Vue, Svelte, Astro y Next.js comparados con la misma app de tareas en cada uno, tamaños de JavaScript medidos, una tabla de decisión por tipo de proyecto, notas sobre la curva de aprendizaje y un apartado sobre Vite frente a webpack.

Elige según el proyecto, no según la popularidad. Astro encaja con sitios de contenido porque las páginas se sirven como HTML con poco o ningún JavaScript. Next.js, construido sobre React, encaja con apps web completas. Vue es el más fácil de aprender y Svelte el que envía menos código. Hicimos la misma app de tareas en cada uno: Svelte envió 13.8 KB con gzip, Vue 25.8 KB y React 68 KB.

En una línea cada uno

Opiniones hay muchas; mediciones de la misma app, no. Escribimos una pequeña app de tareas en React, Vue, Svelte y JavaScript puro, compilamos cada una con Vite, la probamos a mano en un navegador y medimos lo que envía. Astro y Next.js se muestran con el mismo componente integrado.

Preguntas frecuentes

¿Next.js es lo mismo que React?

No. React es la librería de UI; Next.js es un framework construido sobre React que añade enrutado, renderizado en servidor, Server Components, carga de datos y una configuración de build. Dentro de Next.js escribes componentes React.

¿Astro o Next.js para una web?

Para sitios centrados en contenido, como páginas de marketing, blogs y documentación, Astro suele enviar menos JavaScript y es más sencillo. Para sitios tipo app con inicio de sesión, dashboards y mucha interacción, Next.js encaja mejor.

¿Vue es más fácil que React?

Mucha gente lo encuentra más fácil para empezar, porque las plantillas parecen HTML y la reactividad no exige actualizaciones inmutables. React te pide aprender antes JSX y las reglas de los hooks, pero tiene más librerías y más ofertas de empleo.

¿Por qué el bundle de Svelte es tan pequeño?

Svelte compila los componentes en código simple de actualización del DOM en tiempo de build, así que envía un runtime pequeño en lugar de un motor de renderizado genérico.

¿Uso Vite o webpack?

Para un proyecto nuevo, Vite: arranca rápido y necesita poca configuración. webpack sigue teniendo sentido en proyectos existentes que dependen de sus plugins.

La curva de aprendizaje, con sinceridad

Alojamiento

Lo que envía cada uno

Compilado con Vite en modo producción; cada build se probó en un navegador. Astro y Next.js no formaron parte de esta medición.

Medido: la misma app de tareas, JavaScript total enviado

Cuál elegir

Tabla de decisión por tipo de proyecto

Cómo se comparan

De un vistazo

La misma app, de cinco formas

React

El estado vive en hooks; cada cambio vuelve a ejecutar el componente y React actualiza las diferencias en el DOM. Las actualizaciones deben crear arrays y objetos nuevos.

Vue

Script, plantilla y (opcionalmente) estilos en un solo archivo. v-model enlaza los inputs en ambos sentidos y las refs son reactivas, así que basta con hacer push al array.

Svelte 5

Las runes ($state, $derived) marcan los valores reactivos, y el compilador convierte el componente en actualizaciones directas del DOM, por eso su runtime es pequeño.

JavaScript puro

La referencia base. Sirve para un widget pequeño, pero escribes tú las actualizaciones del DOM y las mantienes sincronizadas con los datos a mano.

Astro: la misma app como isla

Astro renderiza la página a HTML y solo hidrata los componentes que llevan una directiva client. Aquí la app de tareas en Svelte carga su JavaScript cuando entra en pantalla al hacer scroll; el resto de la página no envía nada.

Next.js: dónde va el mismo componente

En el App Router la página es un Server Component, así que la lista de tareas interactiva va en su propio archivo marcado con "use client". La página que la rodea no envía JavaScript de componentes propio.

Apartado: Vite frente a webpack

Vite frente a webpack

¿Vas a crear un sitio de contenido? Consulta también

los generadores de sitios estáticos

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio