Vercel ha lanzado Next.js 16.3, sacando a Turbopack y Partial Prerendering del pasillo experimental para llevarlos a un modo listo para producción. La actualización promete builds de dos a cinco veces más rápidas para aplicaciones de tamaño medio y velocidades de carga de página que reducen entre un 40 y un 60 % el Time to Interactive (TTI), un impulso que cualquier equipo que compita por lanzar funcionalidades notará.
Por qué este cambio es importante ahora
Next.js ha dependido durante mucho tiempo de Webpack, un bundler de JavaScript escrito en JavaScript, tanto para builds de desarrollo como de producción. Durante el último año, el equipo de Vercel ha perfeccionado Turbopack, un reemplazo basado en Rust que reduce el uso de memoria y acelera los builds. Al mismo tiempo, probaron Partial Prerendering (PPR) como una forma de combinar HTML estático con contenido dinámico sobre la marcha, pero los desarrolladores tenían que tratarlo como un "experimento opcional". Al promover ambos a la versión estable, Vercel ofrece a los equipos de producción una mejora de rendimiento lista para usar sin el habitual proceso de ensayo y error.
Turbopack pasa a ser estable
- Velocidad: Los builds de producción en repositorios de tamaño medio ahora son de dos a cinco veces más rápidos.
- Memoria: Reduce la presión sobre la memoria en bases de código grandes.
- Activación: Añade
turbo: trueanext.config.jsy listo.
El compromiso es un entorno más estricto. Turbopack requiere Node 18.17 o superior, y cualquier plugin de Webpack personalizado en el que dependan los proyectos no funcionará bajo Turbopack. Los equipos con pipelines de plugins extensos deben auditar o reescribir esas extensiones antes de activar la opción.
Las Server Actions ahora funcionan de forma más fluida
Las Server Actions —funciones que se ejecutan en el servidor pero se llaman desde el cliente— ahora disfrutan de una integración más estrecha con TypeScript. El compilador infiere los tipos automáticamente, por lo que los desarrolladores pueden omitir las anotaciones de tipo escritas a mano. También comprende objetos anidados y esquemas de Zod de extremo a extremo, reduciendo las discrepancias en tiempo de ejecución. Las nuevas convenciones del sistema de archivos hacen que la resolución de las acciones sea explícita, ayudando a los desarrolladores a evitar errores sutiles causados por importaciones ambiguas.
Partial Prerendering (PPR) está listo para producción
PPR permite que una sola página sirva HTML estático para las partes que nunca cambian, mientras hidrata las secciones dinámicas por separado. El marcado estático se dibuja instantáneamente; luego, una búsqueda en segundo plano da vida a las piezas interactivas. Este enfoque mejora el Time to Interactive (TTI) en un 40–60 %.
Implementar PPR es sencillo: marca las porciones estáticas con la API de generación estática existente y deja que las partes dinámicas recurran al renderizado en el lado del cliente. Debido a que el HTML estático llega como un documento completo, el navegador puede comenzar a renderizar antes de que se ejecute cualquier JavaScript, lo que aumenta el rendimiento percibido en redes lentas.
Otros ajustes notables
- Optimización de imágenes: Ahora se puede establecer
fetchPriorityen las imágenes LCP (Largest Contentful Paint), asegurando que el navegador obtenga primero la imagen principal (hero image). - Gestión de fuentes:
next/fontrealiza automáticamente la subdivisión de caracteres (subsets), reduciendo el tamaño de la carga útil sin configuración adicional. - Middleware: El motor de coincidencia ha sido reescrito en Rust, ofreciendo comprobaciones de rutas más rápidas. El middleware también puede devolver respuestas HTML completas, abriendo puertas para páginas renderizadas en el edge.
Pasos inmediatos para los equipos
- Activa Turbopack en desarrollo; funciona de la misma manera en producción una vez configurado el flag
turbo. - Actualiza Node a la versión 20 o superior.
- Revisa las Server Actions para aprovechar los beneficios de la inferencia de tipos; elimina cualquier anotación manual que ahora sea redundante.
- Realiza un piloto de Partial Prerendering en una única ruta de alto tráfico para medir las mejoras de TTI antes de implementarlo en todo el sitio.
Advertencias y contraargumentos
Las ganancias de rendimiento dependen de cumplir con los nuevos requisitos de tiempo de ejecución. Los proyectos que se queden en versiones antiguas de Node o que dependan fuertemente de plugins de Webpack personalizados encontrarán dificultades.
En resumen: Next.js 16.3 pone en manos de los desarrolladores un bundler de grado de producción impulsado por Rust y un método probado para combinar contenido estático y dinámico. Adopta los nuevos valores predeterminados ahora, soluciona las brechas de compatibilidad y verás que los builds terminan más rápido y las páginas se vuelven notablemente más ágiles para los usuarios finales.
