React vs Next.js: ¿Solo piezas de LEGO o la caja completa? — Guía nerd, práctica y sin rodeos
¿Quieres construir cosas web y no sabes si empezar con React o lanzarte directo a Next.js? Bien: aquí te doy la guía completa, con analogías, decisiones claras y cero palabrería inútil. Al final sabrás qué es cada uno, por qué son diferentes, cuándo usar cada uno y qué aprender primero.
TL;DR
- React = librería para construir interfaces (componentes). Es el motor.
- Next.js = framework (sobre React) que te da caja con motor + chasis + GPS: routing, SSR/SSG/ISR, API routes, optimizaciones y despliegue fácil.
- ¿Cuál es “mejor”? Ninguno en abstracto. Next.js es mejor si quieres app orientada a producción (SEO, performance, páginas híbridas). React puro es mejor si necesitas SPA ultra-personalizada o empezar ligero.
- Apréndete React primero. Es la base; luego subes a Next.js para producción.
1) ¿Qué es React? (en 10 segundos)
React es una librería para construir interfaces con componentes reutilizables: botones, tarjetas, formularios. No te impone estructura de proyecto ni cómo hacer routing o dónde correr el backend. Es el “motor” que pinta UI y maneja el estado.
React es como un set de LEGO: piezas sueltas, que tú ensamblas. Si quieres, haces un robot; si no, haces una estella de la muerte.
2) ¿Qué es Next.js? (en 10 segundos)
Next.js es un framework construido sobre React que añade opinión, estructura y herramientas listos para producción: routing basado en archivos, rendering híbrido (SSR, SSG, ISR), API routes para funciones serverless, optimizaciones automáticas y configuración lista para deploy. Es React con muchas cosas que normalmente montarías tú.
Next.js es como comprar un PC armado con refrigeración líquida, cableado y BIOS tuneado. Si React son las piezas, Next.js te da la torre, la fuente y el monitor.
3) Diferencias principales (la parte técnica, directa)
Filosofía: biblioteca vs framework
- React: te da libertad — tú eliges router, bundler, SSR o no.
- Next.js: te da convenciones y herramientas integradas para que no reinventes la rueda. Si quieres control total → React. Si quieres entregar rápido y bien producido → Next.js.
Rendering & SEO (la gran diferencia práctica)
- React (CSR): la app se renderiza en el navegador; buena interactividad, pero peor para SEO y primer paint si la página requiere mucho JS.
- Next.js: ofrece SSR (HTML generado por petición), SSG (HTML generado en build time) e ISR (regeneración incremental de páginas estáticas). Esto te permite balancear velocidad y frescura de contenido.
React CSR es como un emulator que carga todo en la consola en runtime; Next.js te permite precompilar niveles y servirlos listos, o recompilar solo los niveles que cambian.
Routing
- React: típicamente usas
react-routeru otra librería; es explícito y flexible. - Next.js: file-based routing: archivos en
pages/(oapp/en versiones modernas) se convierten en rutas automáticamente. Menos configuración, menos fricción.
Backend / full-stack
- React: sólo frontend (necesitas separar backend o functions).
- Next.js: trae API routes para crear endpoints serverless dentro del mismo proyecto — ideal para micro-APIs, webhooks y lógica server-side sencilla sin desplegar otra app.
Herramientas y DX (developer experience)
- Next.js abstrae bundlers, compresión, optimización de imágenes y prefetching. Menos setup = productivo más rápido. React puro te da flexibilidad pero requiere elegir e integrar herramientas.
4) Casos prácticos: ¿cuándo usar cada uno?
Usa React (puro) cuando:
- Vas a hacer una SPA interna (dashboards, herramientas internas).
- Quieres máximo control sobre build & arquitectura (por ejemplo, integrar con infra especial).
- Proyecto pequeño, prototipo o aprendizaje rápido (Vite + React).
Usa Next.js cuando:
- Necesitas SEO o buen primer paint (blogs, marketing, e-commerce).
- Quieres rendering híbrido: algunas páginas estáticas, otras dinámicas.
- Quieres full-stack dentro de un mismo repo (API routes, server actions).
- Buscas despliegue sencillo y optimizaciones automáticas (Vercel, Netlify, etc.).
Regla rápida: Si tu producto necesita tráfico público, SEO y velocidad de carga: Next.js. Si es una app interna o prototipo ultra-custom: React.
5) ¿Next.js reemplaza a React?
No. Next.js está construido con React. Aprender Next.js sin saber React es como aprender a usar atajos del teclado sin saber escribir: posible, pero poco sensato. React es la base; Next.js es la capa de productividad para producción.
6) Mini-muestras de código (lo esencial)
React (componente simple)
// src/components/Saludo.jsx
import { useState } from 'react';
export default function Saludo({ nombre = 'Poncho' }) {
const [count, setCount] = useState(0);
return (
<div>
<h1>Hola, {nombre} 👋</h1>
<button onClick={() => setCount(c => c + 1)}>Clicks: {count}</button>
</div>
);
}
Next.js (page con SSR — getServerSideProps)
// pages/usuario/[id].js
export async function getServerSideProps(context) {
const { id } = context.params;
const res = await fetch(`https://api.example.com/user/${id}`);
const user = await res.json();
return { props: { user } };
}
export default function UsuarioPage({ user }) {
return (
<div>
<h1>{user.name} — Perfil</h1>
<p>{user.bio}</p>
</div>
);
}
El ejemplo de
getServerSidePropsmuestra SSR: Next.js genera el HTML en cada petición.
7) Performance y costos (lo práctico)
- Más SSR/SSG = mejor primer paint y SEO, pero puede agregar complejidad en infra si lo haces por tu cuenta. Next.js facilita esto con opciones como ISR para no rebuild completo.
- Hosting: React puro + static hosting (Netlify, S3) es barato. Next.js con SSR puede requerir server/edge functions (aunque Vercel y similares lo abstraen).
8) ¿Qué aprender primero y roadmap corto?
- HTML/CSS/JS — obvio.
- React básico: componentes, props, state, hooks (useState, useEffect), composición.
- Routing y fetch (React Router / fetch / SWR or React Query).
- Next.js: routing por archivos, data fetching (SSR/SSG/ISR), API routes y despliegue en Vercel.
Consejo real: aprende React hasta que puedas construir una SPA completa. Luego mete Next.js para aprender cómo llevar eso a producción (SEO, SSR, APIs).
9) Porque los memes ayudan a recordar
- React = Minecraft vanilla: te da bloques, puedes construir lo que quieras.
- Next.js = Minecraft modpack con scripts y shaders: más poder, menos setup, mejor apariencia desde el primer minuto.
- React + librerías = ensamblar tu PC pieza por pieza.
- Next.js = comprar la consola ya armada (PS5) — plug & play, con extras listos.
10) Lo que te conviene ahora mismo
- Si estás aprendiendo o construyendo herramientas internas o prototipos: React + Vite es rápido y ligero.
- Si lo que quieres lanzar es un sitio público, blog, tienda o app que necesite SEO y buen primer paint: Next.js.
- Aprende React primero. Es la base. Luego sube a Next.js para producción y escala.