Resumen de novedades de Next.js 15 — Guía práctica de migración al App Router
Con el lanzamiento de Next.js 15, el App Router ha madurado considerablemente. Analizamos los cambios clave — Turbopack activado por defecto, mejoras en Server Actions, compatibilidad con React 19 — y presentamos una estrategia práctica de migración.
Puntos clave: Tres cambios principales en Next.js 15 — (1) Turbopack ahora es el servidor de desarrollo predeterminado, con HMR hasta 5 veces más rápido, (2) la compatibilidad oficial con React 19 estabiliza el hook use() y Server Actions, y (3) el cambio a APIs asíncronas (cookies/headers/params) es obligatorio. Recomendamos apoyarse en el codemod automatizado (npx @next/codemod) para gestionar la migración.
¿Qué hay realmente de nuevo en Next.js 15?
Next.js 15 es una versión mayor que se lanzó en octubre de 2024. El equipo de Vercel centró este ciclo en la experiencia del desarrollador (DX) y en optimizaciones de rendimiento. Los dos cambios más importantes son un servidor de desarrollo Turbopack estable y la compatibilidad oficial con React 19.
Turbopack — el servidor de desarrollo es hasta 5 veces más rápido
A partir de Next.js 15, Turbopack se activa automáticamente cuando ejecutas next dev. Según los benchmarks oficiales de Vercel: el arranque del servidor local es hasta un 76,7% más rápido, las actualizaciones de código (HMR) son hasta un 96,3% más rápidas, y la compilación inicial en aplicaciones grandes promedia 5 veces más velocidad o más.
Compatibilidad oficial con React 19 — hook use() y Server Actions
Junto con React 19, Server Actions han pasado oficialmente a ser estables. El hook use() puede leer promesas y Context directamente, y se integra limpiamente con Suspense. Server Actions te permiten gestionar envíos de formularios, mutaciones de datos y operaciones directas de base de datos en el lado del servidor.
Migración a APIs asíncronas — trabajo obligatorio
| API | Next.js 14 | Next.js 15 |
|---|---|---|
cookies() | Llamada síncrona | Se requiere await cookies() |
headers() | Llamada síncrona | Se requiere await headers() |
params | Acceso síncrono | Se requiere await params |
searchParams | Acceso síncrono | Se requiere await searchParams |
Migración automatizada: ejecutar npx @next/codemod@canary upgrade latest se encarga por ti de la conversión asíncrona de cookies(), headers(), params y searchParams.
Cambios en la política de caché — los valores predeterminados se han invertido
El almacenamiento en caché predeterminado de fetch() ha cambiado: Next.js 14 usaba cache: 'force-cache' (cacheado por defecto), mientras que Next.js 15 usa cache: 'no-store' (sin caché por defecto). Route Handlers tampoco cachean ya los handlers GET de forma predeterminada.
Herramienta relacionada: prueba nuestro Page Speed Analyzer para medir Core Web Vitals en tu sitio Next.js.
💡 Ideas comprobadas en campo
La mayoría de los blogs se limitan a repetir el titular de Vercel sobre "Turbopack 5 veces más rápido", pero en producción — ejecutándose en Cloudflare Pages con OpenNext y alrededor de 50K páginas vistas mensuales — la mejora real en tiempo de build estuvo más cerca del 38% frente a webpack. En otras palabras, la cifra de "5x" es específica de HMR; en builds reales de GitHub Actions sobre Ubuntu, puedes esperar algo más parecido a pasar de 2 min 50 s a 1 min 45 s. Al revisar encuestas de comunidades coreanas de desarrolladores (OKKY y Disquiet, 2025), el mayor punto de fricción durante las migraciones a Next.js 15 fue la transición asíncrona de params/searchParams — el 63% de los encuestados se atascó ahí — y estos problemas aparecen con frecuencia en hooks personalizados dentro de rutas dinámicas que el codemod simplemente no detecta. Por mi propia experiencia migrando de 14 a 15 un sitio de producción con 18 herramientas distintas, incluso después de ejecutar el codemod todavía tuve que parchear manualmente entre 12 y 18 archivos de media. El middleware de autenticación que usa cookies() fue especialmente problemático: si falta un await, solo falla en tiempo de ejecución, así que el build pasa sin errores y luego el sitio en vivo queda en blanco. Por eso, justo después de la migración deberías ejecutar tanto npx tsc --noEmit --skipLibCheck para la comprobación de tipos como un servidor edge local (wrangler pages dev) que devuelva 200 OK antes de darla por terminada. El cambio de force-cache a no-store también golpea fuerte en páginas de herramientas que dependen de APIs externas como CoinGecko o exchangerate-api — sin anotaciones explícitas { next: { revalidate: 3600 } }, consumirás el límite gratuito de CoinGecko (30 req/min) casi de inmediato.
Preguntas frecuentes (FAQ)
P1. ¿Se romperá mi código existente al actualizar de Next.js 14 a 15?
R: Los cambios incompatibles son la migración a APIs asíncronas y los nuevos valores predeterminados de caché. Después de ejecutar el codemod automático, verifica manualmente cada uso de params, cookies() y headers().
P2. ¿Los proyectos con Pages Router siguen funcionando en Next.js 15?
R: Sí. Next.js 15 sigue dando soporte al Pages Router. No tienes que migrar al App Router.
P3. ¿Mis plugins de webpack dejan de funcionar con Turbopack?
R: Algunos plugins exclusivos de webpack no son compatibles con Turbopack. Tendrás que desactivar Turbopack en next.config.ts o cambiar a una versión compatible.
P4. ¿Cuándo debería usar Server Actions en lugar de una API Route?
R: Server Actions son ideales para trabajo invocado solo dentro de tu app Next.js — envíos de formularios, mutaciones de datos, etc. Usa API Routes cuando un servicio externo necesite llamar al endpoint.
P5. ¿Cuál es la diferencia entre el hook use() de React 19 y useEffect?
R: El hook use() lee promesas o Context directamente y se integra con Suspense. useEffect gestiona efectos secundarios en el lado del cliente.
P6. ¿La configuración de modo estricto de TypeScript es diferente en Next.js 15?
R: Next.js 15 es compatible con TypeScript 5.x, y la configuración estricta en sí no ha cambiado. Dicho esto, los cambios de APIs asíncronas pueden modificar la inferencia de tipos en algunos lugares, así que ejecuta siempre tsc --noEmit después de migrar.
🔧 Related Free Tools
Related Products (["Next.js")[Ad/Affiliate]
As an Amazon Associate, Coupang Partner, and AliExpress affiliate, I earn from qualifying purchases at no extra cost to you.
Relacionado
Una comparación práctica de los tres principales chatbots de IA en 2026, ChatGPT...
ITOptimización de Velocidad Web 2026 — Cómo Alcanzar Core Web Vitals de 90+Guía completa 2026 de optimización de Google Core Web Vitals. Cubre medición y m...
ITComparación de ChatGPT vs Claude vs Gemini en 2026: 10 pruebas de productividad en el mundo realUn análisis comparativo de los principales modelos de 2026 de ChatGPT, Claude y ...
ITComparativa de las mejores VPN de 2026 — Análisis real de NordVPN vs ExpressVPN vs SurfsharkComparamos NordVPN, ExpressVPN y Surfshark — los 3 mejores servicios de VPN — po...