Contenido del curso

Características Adicionales y Herramientas

Cambios clave en Next.js 15

Resumen

Next.js 15 llega con cambios profundos que impactan cómo desarrollas, despliegas y manejas el caché en tus aplicaciones React. Si trabajas con este framework, necesitas entender qué se rompió, qué mejoró y cómo migrar tu código sin sorpresas.

¿Qué es Turbopack y por qué reemplaza a Webpack en Next.js 15?

Una de las apuestas más fuertes de esta versión es Turbopack, la herramienta creada por el equipo de Next.js para transpilar React hacia JavaScript [0:15]. Webpack venía haciendo este trabajo durante años y muy bien, pero según el propio equipo, ya optimizaron Webpack al límite y no había espacio para más mejoras.

Turbopack llega por primera vez en estado estable, aunque con un asterisco importante: solo es recomendado para entornos de desarrollo local. En producción, con tus pipelines de CI o GitHub Actions, Webpack seguirá siendo el encargado.

¿Puedo usar Turbopack en producción? No. En Next.js 15, Turbopack está estable únicamente para desarrollo local. Producción sigue corriendo sobre Webpack.

Cuando instalas Next.js 15, Turbopack queda habilitado por defecto al levantar el servidor en local, así que ganas velocidad sin configurar nada extra.

¿Cómo cambió el hosting de Next.js fuera de Vercel?

Desplegar Next.js en tu propio servidor solía ser un dolor de cabeza. Tenías que instalar librerías como Sharp, hacer configuraciones manuales y resolver dependencias que no venían incluidas. En Vercel o Cloudflare todo era automático, pero fuera de ahí la historia era distinta.

En esta versión, el equipo le puso mucho más cariño al self-hosting [1:45]. Los pasos para desplegar en tu propia infraestructura se simplificaron considerablemente, hasta el punto de que puedes correr tu aplicación en un servidor de DigitalOcean de cinco dólares sin demasiada fricción.

¿Qué breaking changes trae Next.js 15 en params y cookies?

Este es probablemente el cambio más disruptivo de la versión. Si en tu código accedes a los params de una página o a las cookies, antes era una operación síncrona. Ahora es obligatoriamente asíncrona [2:30].

Esto significa que necesitas usar await y que el componente debe ser un server component asíncrono para poder resolver la promesa. Por ejemplo, donde antes escribías acceso directo a cookies(), ahora necesitas algo como:

js const cookieStore = await cookies();

La buena noticia: Next.js 15 mantiene retrocompatibilidad. Si olvidas el await, tu código seguirá funcionando, aunque con advertencias. Eso sí, en versiones futuras será obligatorio.

¿Por qué params y cookies ahora son asíncronos? Para alinearse con el modelo de React Server Components y permitir que Next.js optimice cuándo y cómo se resuelven esos datos durante el renderizado.

Migración progresiva sin romper tu código

El equipo de Next.js cuida mucho las migraciones, así que puedes ir actualizando tus páginas poco a poco. Pero ya sabes que en algún momento tendrás que adoptar el patrón asíncrono completo.

¿Por qué Next.js 15 desactivó el caché por defecto?

En versiones anteriores, el equipo presumía con orgullo que fetch y los server components traían caché activado por defecto. Sonaba genial, pero la comunidad respondió con feedback claro: el caché es difícil, contextual y debe estar en manos de quien conoce el negocio.

Así que en Next.js 15 el caché ya no viene activado por defecto [4:10]. Si quieres cachear algo, lo habilitas explícitamente en los lugares donde lo necesites. Esta decisión devuelve el control a los desarrolladores y reduce comportamientos inesperados.

¿Qué es la directiva use cache en Next.js?

En la última conferencia de Next.js apareció una sorpresa: use cache, una nueva directiva para controlar el caché de forma declarativa.

Hasta ahora teníamos varias formas de manejar el caché:

  • Revalidation tags para invalidar contenido por etiquetas.
  • Modificar el objeto fetch con opciones de caché.
  • Configuraciones a nivel de ruta o segmento.

Todo eso se está migrando hacia use cache, sumándose al club de directivas que ya conoces como use server y use client. Es una decisión controversial, pero busca unificar la experiencia.

¿Ya puedo usar use cache en producción? Todavía no. La directiva no está disponible públicamente, pero se espera que llegue en actualizaciones de Next.js 15 antes de la versión 16.

Esta movida es parte de una transición mayor hacia lo que React Server Components está cocinando, y posiciona a Next.js como el framework de referencia para desarrollar con React.

¿Cuál de estos cambios te genera más curiosidad o más dudas? Cuéntalo en los comentarios.