Articulo de referencia

Next.js

{{cite web |url=https://github.com/vercel/next.js/tree/v14.2.16?tab=readme-ov-file#authors |title=vercel/next.js |website=GitHub }} "},"developer":{"wt":"[[Vercel]] and the open...

Next.js es un framework de desarrollo web full-stack de código abierto creado por la empresa privada Vercel que proporciona aplicaciones web basadas en React con renderizado del lado del servidor y renderizado estático .

La documentación de React menciona Next.js entre las "cadenas de herramientas recomendadas" y lo aconseja a los desarrolladores cuando "construyen un sitio web renderizado en el servidor con Node.js ". [ 6 ] Mientras que las aplicaciones React tradicionales solo pueden renderizar su contenido en el navegador del lado del cliente, Next.js extiende esta funcionalidad para incluir aplicaciones renderizadas en el lado del servidor.

Los derechos de autor y las marcas registradas de Next.js son propiedad de Vercel , [ 7 ] que también mantiene y dirige su desarrollo de código abierto. [ 8 ]

Fondo

Next.js es un framework de React que permite varias características adicionales, incluyendo renderizado del lado del servidor y renderizado estático . [ 9 ] React es una biblioteca de JavaScript que se usa tradicionalmente para construir aplicaciones web renderizadas en el navegador del cliente con JavaScript. [ 10 ] Sin embargo, los desarrolladores reconocen varios problemas con esta estrategia, como no atender a los usuarios que no tienen acceso a JavaScript o lo han deshabilitado, posibles problemas de seguridad, tiempos de carga de página significativamente extendidos y daño a la optimización general del motor de búsqueda del sitio . [ 10 ] Frameworks como Next.js evitan estos problemas al permitir que parte o la totalidad del sitio web se renderice en el lado del servidor antes de enviarse al cliente. [ 10 ] [ 11 ] Next.js es uno de los frameworks más populares para React. [ 12 ] Es una de las varias "cadenas de herramientas" recomendadas disponibles al comenzar una nueva aplicación, todas las cuales proporcionan una capa de abstracción para ayudar en tareas comunes. [ 13 ] Next.js requiere Node.js y puede inicializarse usando npm .

Google ha contribuido al proyecto Next.js, incluyendo 43 solicitudes de extracción en 2019. [ 14 ] A octubre de 2024, el framework es utilizado por muchos sitios web grandes, incluyendo Walmart , Apple , Nike , Netflix , TikTok , Uber , Lyft , Starbucks y Spotify . [ 10 ] [ 15 ] A principios de 2020, Vercel recaudó $21 millones en financiación de Serie A para apoyar mejoras al software. [ 16 ] El autor original del framework, Guillermo Rauch, es actualmente el CEO de Vercel, y el mantenedor principal del proyecto es Tim Neutkens. [ 17 ]

Historia del desarrollo

Next.js se lanzó por primera vez como un proyecto de código abierto en GitHub el 25 de octubre de 2016. [ 3 ] Originalmente se desarrolló basándose en seis principios: funcionalidad lista para usar que no requiere configuración, JavaScript en todas partes, todas las funciones están escritas en JavaScript, división automática de código y renderizado del servidor, obtención de datos configurable, anticipación de solicitudes y simplificación de la implementación. [ 18 ]

Next.js 2.0 se anunció en marzo de 2017 e incluía varias mejoras que facilitaban el trabajo con sitios web pequeños. También aumentó la eficiencia de la compilación y mejoró la escalabilidad de la función de reemplazo de módulos en caliente. [ 19 ]

La versión 7.0 se lanzó en septiembre de 2018 con un manejo de errores mejorado y soporte para la API de contexto de React para un mejor manejo de rutas dinámicas. Esta fue también la primera versión en actualizarse a Webpack 4. [ 20 ]

La versión 8.0 se lanzó en febrero de 2019 y fue la primera en ofrecer la implementación de aplicaciones sin servidor , en la que el código se divide en funciones lambda que se ejecutan bajo demanda. Esta versión también redujo el tiempo y los recursos necesarios para las exportaciones estáticas y mejoró el rendimiento de la precarga . [ 21 ]

La versión 9.3, anunciada en marzo de 2020, incluía varias optimizaciones y soporte global para módulos Sass y CSS. [ 22 ]

El 27 de julio de 2020 se anunció la versión 9.5 de Next.js, que añade nuevas capacidades, incluyendo regeneración estática incremental, reescrituras y soporte para redirecciones. [ 23 ]

El 15 de junio de 2021 se lanzó Next.js versión 11, que introdujo, entre otras cosas: compatibilidad con Webpack 5, una vista previa de la funcionalidad de codificación colaborativa en tiempo real "Next.js Live" y una función experimental de conversión automática de Create React App a un formato compatible con Next.js "Create React App Migration". [ 24 ]

El 26 de octubre de 2021 se lanzó Next.js 12, que añadió un compilador de Rust , lo que hizo que la compilación fuera más rápida, soporte para AVIF , funciones y middleware de borde, e importaciones nativas de ESM y URL. [ 25 ]

El 26 de octubre de 2022, Vercel lanzó Next.js 13. Esta importante versión introdujo un nuevo patrón de enrutamiento en versión beta , con la adición del App Router que incluye soporte para diseños, React Server Components, streaming y un nuevo conjunto de métodos de obtención de datos. Además, Vercel anunció una nueva cadena de herramientas para el desarrollo front-end llamada Turbo, que incluye Turbopack como sucesor de Webpack y Turborepo para sistemas de compilación incrementales . [ 26 ]

En mayo de 2023, Vercel lanzó Next.js 13.4. Esto trajo consigo la versión estable de App Router, que permite a los desarrolladores usarla en producción. [ 27 ]

En octubre de 2023, Vercel lanzó Next.js 14, que incluye una gestión de memoria mejorada mediante el uso de edge runtime. [ 28 ]

En octubre de 2024, Vercel lanzó Next.js 15. Introduce el empaquetador Turbopack, basado en Rust (que es más rápido que Webpack), compatibilidad con React 19 y API de solicitudes asíncronas. [ 29 ] [ 30 ]

En octubre de 2025, Vercel lanzó Next.js 16. Quizás la característica más destacada, en términos de código abierto, sea la API de adaptadores de compilación, que permite una integración más sencilla con proveedores de alojamiento que tienen requisitos personalizados, a pesar de que Vercel ya admitía la autoimplementación desde 2016. [ 31 ] [ 32 ]

Estilo y características

Next.js admite estilos con CSS , así como con Scss y Sass precompilados , CSS-in-JS y JSX con estilo . [ 13 ] Además, está construido con soporte para TypeScript y empaquetado inteligente. [ 33 ] El transpilador de código abierto SWC se utiliza para transformar y compilar el código en JavaScript utilizable por un navegador. [ 34 ] Webpack , otra herramienta de código abierto, se utiliza para empaquetar los módulos posteriormente, aunque actualmente está siendo reemplazado por TurboPack. [ 35 ] Todas estas herramientas se utilizan con npm en una terminal. [ 14 ]

La característica principal de Next.js es su uso de renderizado del lado del servidor para reducir la carga en los navegadores web y proporcionar seguridad mejorada [ 36 ] . Esto se puede hacer para cualquier parte de la aplicación o para todo el sistema, lo que permite seleccionar páginas con mucho contenido para el renderizado del lado del servidor. [ 10 ] También se puede hacer solo para los visitantes nuevos, para reducir la carga en los navegadores web que aún no han descargado ninguno de los recursos del sitio. [ 11 ] La función de "recarga en caliente" detecta los cambios a medida que se realizan y vuelve a renderizar las páginas apropiadas para que el servidor no tenga que reiniciarse. Esto permite que los cambios realizados en el código de la aplicación se reflejen inmediatamente en el navegador web, aunque algunos navegadores requerirán que se actualice la página. [ 10 ] El software utiliza enrutamiento basado en páginas para la comodidad del desarrollador e incluye soporte para enrutamiento dinámico. Otras características incluyen reemplazo de módulos en caliente para que los módulos se puedan reemplazar en vivo, división automática de código, que solo incluye el código necesario para cargar la página, y precarga de páginas para reducir el tiempo de carga. [ 10 ]

Next.js también admite la regeneración estática incremental [ 37 ] y la generación de sitios estáticos: durante el proceso de compilación, se crea una versión compilada del sitio web que se guarda en una carpeta .next. Cuando un usuario realiza una solicitud, la versión precompilada, que son páginas HTML estáticas, se almacena en caché y se le envía. Esto acelera considerablemente el tiempo de carga, pero no es adecuado para todos los sitios web, especialmente para aquellos interactivos que cambian con frecuencia y requieren mucha interacción del usuario.

Seguridad

En noviembre de 2025, el investigador de seguridad Lachlan Davidson informó al equipo de React sobre una vulnerabilidad que permitía la ejecución remota de código sin autenticación a través de un fallo en el protocolo de deserialización del componente de servidor de React. El 3 de diciembre se publicó una solución en npm y se divulgó públicamente como CVE-2025-55182 ("React2Shell"), que recibió una puntuación CVSS de 10.0. [ 38 ] [ 39 ] Las versiones 15.x y 16.x de Next.js se vieron afectadas por esta CVE, rastreada por separado como CVE-2025-66478, ya que la configuración predeterminada del enrutador de aplicaciones era susceptible. Los equipos de inteligencia de amenazas de Amazon observaron intentos de explotación por parte de múltiples grupos de amenazas vinculados al estado chino a las pocas horas de la divulgación pública. [ 40 ] El 5 de diciembre, CISA agregó la vulnerabilidad a su catálogo de Vulnerabilidades Explotadas Conocidas (KEV). [ 41 ] El 6 de diciembre de 2025, Vercel publicó el paquete npm fix-react2shell-next para actualizar a versiones con la corrección de seguridad aplicada. [ 42 ]

Véase también

Referencias

  1. "vercel/next.js" . GitHub .
  2. "vercel/next.js" . GitHub . Archivado del original el 16 de marzo de 2019. Consultado el 17 de marzo de 2019 .
  3. 1 2 "Next.js First Release" . GitHub . 14 de marzo de 2019. Archivado del original el 10 de octubre de 2020. Consultado el 17 de marzo de 2019 .
  4. "Versión 16.2.10" . 1 de julio de 2026. Consultado el 2 de julio de 2026 .
  5. "Versión v16.3.0-preview.3 · vercel/next.js" . GitHub . Vercel . Consultado el 14-06-2026 .
  6. "Herramientas recomendadas" (HTML) . Documentación de React . Consultado el 10 de julio de 2021 .
  7. "Directrices de marca de Next.js" . 26 de agosto de 2022.
  8. "Desarrolla. Previsualiza. Lanza. Para los mejores equipos de frontend – Vercel" (HTML) . vercel.com . Archivado del original el 6 de octubre de 2021. Consultado el 22 de septiembre de 2020 .
  9. "Diferencias entre sitios generados estáticamente y aplicaciones renderizadas en el servidor" . Smashing Magazine . 2 de julio de 2020. Consultado el 19 de octubre de 2020 .
  10. 1 2 3 4 5 6 7 Thakkar, Mohit (2020). "Next.js" . En Thakkar, Mohit (ed.). Building React Apps with Server-Side Rendering . Berkeley, CA: Apress . pp. 93–137 . doi : 10.1007/978-1-4842-5869-9_3 . ISBN  978-1-4842-5869-9. S2CID 241224880 . Consultado el 20/10/2020 . {{cite book}}: |work=ignorado ( ayuda )
  11. 1 2 Thakkar, Mohit (2020). "Añadiendo renderizado del lado del servidor a tu aplicación React" . En Thakkar, Mohit (ed.). Creación de aplicaciones React con renderizado del lado del servidor . Berkeley, CA: Apress . pp. 139–152 . doi : 10.1007/978-1-4842-5869-9_4 . ISBN  978-1-4842-5869-9. S2CID 216333955 . Consultado el 2020-10-20 . {{cite book}}: |work=ignorado ( ayuda )
  12. Asay, Matt (2 de diciembre de 2019). "Por qué el desarrollo front-end puede ser la nueva frontera" . TechRepublic . Recuperado el 20 de octubre de 2020 .
  13. 1 2 Lukman, Adebiyi Adedotun (2020-09-17). "Comparación de métodos de estilismo en Next.js" . Smashing Magazine . Recuperado el 2020-10-20 .
  14. 1 2 Asay, Matt (1 de febrero de 2020). "Una mirada desde dentro a las contribuciones del marco web de Google a Next.js y más" . TechRepublic . Recuperado el 19 de octubre de 2020 .
  15. "Pila tecnológica de Spotify.com" . Wappalyzer . Consultado el 15 de octubre de 2024 .
  16. Asay, Matt (21 de abril de 2020). "Cómo Next.js pretende simplificar el desarrollo front-end" . TechRepublic . Archivado del original el 3 de junio de 2020. Consultado el 20 de octubre de 2020 .
  17. Donovan, Ryan (2020-10-07). "¿Generación de sitios estáticos con funcionalidad de aplicación de una sola página? Eso es lo que viene en Next(.js)" (html) . Blog de Stack Overflow . Recuperado el 2020-10-20 .
  18. Krill, Paul (31 de octubre de 2016). "El siguiente paso después de Node.js: un marco de trabajo para aplicaciones JavaScript 'universales'" . InfoWorld . Consultado el 20 de octubre de 2020 .
  19. Krill, Paul (28 de marzo de 2017). "Next.js 2.0 funciona mejor con React y JavaScript" . InfoWorld . Consultado el 20 de octubre de 2020 .
  20. Krill, Paul (21 de septiembre de 2018). "El framework Next.js 7 compila más rápido y admite WebAssembly" . InfoWorld . Consultado el 20 de octubre de 2020 .
  21. Krill, Paul (14 de febrero de 2019). "Next.js 8 ahora admite aplicaciones sin servidor" . InfoWorld . Consultado el 20 de octubre de 2020 .
  22. Krill, Paul (12 de marzo de 2020). "La actualización de Next.js enfatiza la generación de sitios estáticos" . InfoWorld . Consultado el 20 de octubre de 2020 .
  23. Krill, Paul (27 de julio de 2020). "Next.js añade regeneración incremental de páginas estáticas" . InfoWorld . Archivado del original el 2 de octubre de 2020. Recuperado el 22 de septiembre de 2020 .
  24. "Next.js 11" . Consultado el 10 de julio de 2021 .
  25. "Next.js 12" . nextjs.org . Consultado el 27 de octubre de 2021 .
  26. Orbán, Balázs (25 de octubre de 2022). "Siguiente.js 13" . nextjs.org . Consultado el 9 de junio de 2023 .
  27. Markbåge, Sebastian; Neutkens, Tim (2023-05-04). "Next.js 13.4" . nextjs.org . Consultado el 2023-06-07 .
  28. "Next.js 14.0.0" . nextjs.org . 8 de diciembre de 2023. Consultado el 26 de noviembre de 2023 .
  29. "Next.js v15.0.0" . nextjs.org . 22/10/2024 . Consultado el 22/10/2024 .
  30. "Next.js 15 llega con un empaquetador más rápido" . InfoWorld . 24 de octubre de 2024. Consultado el 14 de abril de 2025 .
  31. "Next.js 16" . nextjs.org . 21/10/2025 . Consultado el 11/11/2025 .
  32. "RFC: API de adaptadores de despliegue n.° 77740" . github.com . 2025-04-02 . Consultado el 2025-11-11 .
  33. Krill, Paul (14 de febrero de 2019). "Next.js 8 ahora admite aplicaciones sin servidor" . InfoWorld . Archivado del original el 2 de octubre de 2020. Consultado el 22 de septiembre de 2020 .
  34. "Arquitectura: Compilador Next.js | Next.js" . nextjs.org . Consultado el 19 de agosto de 2023 .
  35. "Arquitectura: Turbopack | Next.js" . nextjs.org . Consultado el 19 de agosto de 2023 .
  36. Renderizado del lado del servidor en Next.js: cómo funciona y cuándo usarlo https://www.ctrlturbo.com
  37. "Regeneración estática incremental con Next.js" . Vercel . Consultado el 6 de marzo de 2022 .
  38. "Vulnerabilidad de seguridad crítica en componentes de servidor de React – React" . react.dev . Consultado el 22 de marzo de 2026 .
  39. "Registro CVE: CVE-2025-55182" . www.cve.org . Consultado el 22 de marzo de 2026 .
  40. "Grupos de amenazas cibernéticas vinculados a China explotan rápidamente la vulnerabilidad de React2Shell (CVE-2025-55182) | Blog de seguridad de AWS" . aws.amazon.com . 4 de diciembre de 2025. Consultado el 22 de marzo de 2026 .
  41. "CISA agrega una vulnerabilidad explotada conocida a su catálogo | CISA" . www.cisa.gov . 9 de diciembre de 2025. Consultado el 22 de marzo de 2026 .
  42. Story, Josh; Markbåge, Sebastian (2025-12-03). "Aviso de seguridad: CVE-2025-66478" . nextjs.org . Consultado el 22 de marzo de 2026 .
  • Sitio web oficialEdita esto en Wikidata