11 puntos por ragingwind 2024-10-22 | 5 comentarios | Compartir por WhatsApp

Se lanzó la versión oficial de Next.js 15 en el marco de la conferencia 2024. A continuación no se incluyen los cambios explicados anteriormente en Next.js 15 RC 2. Si quieres conocer esos cambios, léelo primero.

  • Caching Semantics (Breaking): los siguientes comportamientos ya no usan caché por defecto. La razón del cambio es que podían surgir problemas al interactuar con Partial Prerendering(PPR) o con librerías de terceros, por lo que se revisó el enfoque de caché predeterminado. Antes, el valor por defecto era force-cache, pero ahora cambió a no-store, para que no se almacene en caché por defecto y así ofrecer un rendimiento y datos más predecibles.

    • Las solicitudes fetch ahora no se almacenan en caché por defecto, y no-store es el valor predeterminado. Si es necesario, se puede configurar el almacenamiento en caché con la opción force-cache.
    • Los GET Route Handlers tampoco se almacenan en caché por defecto. Se puede usar caché mediante la opción force-static.
    • Client Router Cache refleja los datos más recientes al navegar entre páginas y no se almacena en caché por defecto. Si quieres volver al comportamiento anterior, puedes configurar la opción staleTimes.
  • React 19 Support: Next.js 15 se actualizó para React 19 y también mantiene compatibilidad con React 18 en Pages Router. App Router usa React 19 RC y, reflejando el feedback de la comunidad, se hizo posible que los proyectos que usan React 18 también puedan actualizarse a React 19. Además, se introdujo React Compiler, que permite optimización automática y reduce la necesidad de memoización manual. Estos cambios están pensados para prepararse para el próximo lanzamiento oficial de React 19.

    • React Compiler (Experimental): React Compiler es un compilador experimental creado por el equipo de React en Meta que entiende la semántica de JavaScript y las reglas de React para optimizar automáticamente el código. Con esto, reduce la necesidad de que los desarrolladores hagan memoización manual mediante APIs como useMemo y useCallback. Es compatible con Next.js 15 y actualmente solo se ofrece como plugin de Babel, por lo que el tiempo de build puede volverse más lento.
    • Hydration Error Improvements: Next.js 15 sigue mejorando los mensajes de error y el manejo de errores de hidratación que ya habían sido mejorados en versiones anteriores. Ahora, cuando ocurre un error de hidratación, también muestra el código fuente del error y sugerencias para resolver el problema. Esto ayuda a los desarrolladores a entender y corregir el error con mayor facilidad.
  • Turbopack Dev: Turbopack ahora ya es estable, y su gran velocidad mejora la experiencia de desarrollo. El inicio del servidor local mejoró alrededor de 76%, Fast Refresh 96% y la primera compilación de ruta sin caché alrededor de 45%.

  • unstable_after API (Experimental): unstable_after es una API experimental introducida en Next.js 15 que permite procesar tareas secundarias, como logging o analítica, después de responder al usuario. Como las funciones serverless dejan de ejecutarse inmediatamente cuando se completa la respuesta, para resolver esto se puede usar after() y así retrasar la ejecución de tareas incluso después de que la respuesta haya terminado. Se pueden sincronizar cargas, datos estadísticos, etc. con sistemas externos.

5 comentarios

 
vipeen 2024-10-23

Para proyectos nuevos, me voy con vue3 o sveltekit.

 
zillionstar 2024-10-22

React compatible con Next 15 es a partir de la 19... pero React 19 todavía no se quita la etiqueta RC.

 
kbumsik 2024-10-23

Como mencionó otra persona, todavía es rc porque hay un problema relacionado con cambios en las funcionalidades, pero salvo por esa parte, parece que puede considerarse estable.

 
[Este comentario fue ocultado.]
 
ragingwind 2024-10-22

Tuit de preguntas y respuestas del mantenedor relacionado con https://x.com/timneutkens/status/1848464958830612729