stringtranslate.com

Siguiente.js

Next.js es un marco de desarrollo web de código abierto creado por la empresa privada Vercel que proporciona aplicaciones web basadas en React con renderizado del lado del servidor y generación de sitios web estáticos .

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

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

Fondo

Next.js es un marco de React que permite varias funciones adicionales, incluida la representación del lado del servidor y la generación de sitios web estáticos . [9] React es una biblioteca de JavaScript que se utiliza tradicionalmente para crear aplicaciones web representadas 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 desactivado, posibles problemas de seguridad, tiempos de carga de páginas significativamente prolongados y daños a la optimización general del motor de búsqueda del sitio . [10] Los marcos como Next.js evitan estos problemas al permitir que parte o la totalidad del sitio web se represente en el lado del servidor antes de enviarlo al cliente. [10] [11] Next.js es uno de los marcos más populares para React. [12] Es una de varias "cadenas de herramientas" recomendadas disponibles al iniciar 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 se puede inicializar usando Node Package Manager .

Google ha contribuido al proyecto Next.js, incluidas 43 solicitudes de extracción en 2019. [14] En marzo de 2022, muchos sitios web importantes utilizan el marco, incluidos Walmart , Apple , Nike , Netflix , TikTok , Uber , Lyft y Starbucks . [10] A principios de 2020, Vercel recaudó 21 millones de dólares en financiación Serie A para respaldar mejoras en el software. [1] El autor original del marco, Guillermo Rauch, es actualmente el director ejecutivo de Vercel, y el responsable principal del mantenimiento del proyecto es Tim Neutkens. [15]

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] Se desarrolló originalmente basándose en seis principios: funcionalidad lista para usar que no requiere configuración, JavaScript en todas partes, todas las funciones son escrito en JavaScript, división automática de código y procesamiento de servidor, recuperación de datos configurable, anticipación de solicitudes y simplificación de la implementación. [dieciséis]

Next.js 2.0 se anunció en marzo de 2017 e incluye varias mejoras que facilitaron el trabajo con sitios web pequeños. También aumentó la eficiencia de la construcción y mejoró la escalabilidad de la función de reemplazo del módulo en caliente. [17]

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

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

La versión 9.3, anunciada en marzo de 2020, incluyó varias optimizaciones y compatibilidad global con módulos Sass y CSS. [20]

El 27 de julio de 2020, se anunció la versión 9.5 de Next.js, que agrega nuevas capacidades que incluyen regeneración estática incremental, reescritura y soporte de redireccionamiento. [21]

El 15 de junio de 2021 se lanzó la versión 11 de Next.js, que presenta, entre otras cosas: compatibilidad con Webpack 5, vista previa de la funcionalidad de codificación colaborativa en tiempo real "Next.js Live" y función experimental de conversión automática de la aplicación Create React a Next.js. formulario compatible "Crear migración de aplicación React". [22]

El 26 de octubre de 2021, se lanzó Next.js 12, agregando un compilador Rust, haciendo la compilación más rápida, soporte AVIF , funciones Edge y middleware e importaciones nativas de URL y ESM. [23]

El 26 de octubre de 2022, Vercel lanzó Next.js 13. Este lanzamiento importante generó un nuevo patrón de enrutamiento en versión beta , con la adición de App Router que incluye soporte para diseños, componentes de React Server, transmisión y un nuevo conjunto de datos. métodos de búsqueda. Además, Vercel anunció una nueva cadena de herramientas para el desarrollo front-end llamada Turbo, que incluye Turbopack como sucesor de Webpack, Turborepo para sistemas de construcción incremental. [24]

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 utilizarlo en producción. [25]

En octubre de 2023, Vercel lanzó Next.js 14, que mejora la gestión de la memoria mediante el uso del tiempo de ejecución perimetral. [26]

Estilo y características

Next.js admite estilos con CSS , así como Scss y Sass precompilados , CSS-in-JS y JSX con estilos . [13] Además, está construido con soporte TypeScript y agrupación inteligente. [27] El transpilador de código abierto SWC se utiliza para transformar y compilar código en JavaScript utilizable por un navegador. [28] Webpack , otra herramienta de código abierto, se utiliza para agrupar los módulos posteriormente, sin embargo, actualmente está siendo reemplazada por TurboPack. [29] Todas estas herramientas se utilizan con npm en una terminal. [14]

La característica principal de Next.js es el uso de renderizado del lado del servidor para reducir la carga de los navegadores web y proporcionar seguridad mejorada [ cita necesaria ] . Esto se puede hacer para cualquier parte de la aplicación o para todo el sistema, lo que permite seleccionar páginas ricas en contenido para su representación en el lado del servidor. [10] También se puede hacer sólo para quienes visitan el sitio por primera vez, para reducir la carga de los navegadores web que aún no han descargado ninguno de los activos del sitio. [11] La función de "recarga en caliente" detecta los cambios a medida que se realizan y vuelve a representar las páginas apropiadas para que el servidor evite la necesidad de reiniciarlo. 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 comodidad del desarrollador e incluye soporte para enrutamiento dinámico. Otras características incluyen el 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 captación previa de la página para reducir el tiempo de carga. [10]

Next.js también admite la regeneración estática incremental [30] y la generación de sitios estáticos: generalmente se crea una versión compilada del sitio web durante el tiempo de compilación y se guarda como una carpeta .next. Cuando un usuario realiza una solicitud, la versión prediseñadas, que son páginas HTML estáticas, se almacena en caché y se le envía. Esto hace que el tiempo de carga sea muy rápido, pero no es adecuado para todos los sitios web, especialmente para los sitios interactivos que cambian con frecuencia y utilizan muchas aportaciones de los usuarios.

Ver también

Referencias

  1. ^ ab Asay, Matt (21 de abril de 2020). "Cómo Next.js pretende simplificar el desarrollo front-end". República Tecnológica . Archivado desde el original el 3 de junio de 2020 . Consultado el 20 de octubre de 2020 .{{cite web}}: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )
  2. ^ "vercel/next.js". GitHub . Archivado desde el original el 16 de marzo de 2019 . Consultado el 17 de marzo de 2019 .
  3. ^ ab "Primera versión de Next.js". GitHub . 2019-03-14. Archivado desde el original el 10 de octubre de 2020 . Consultado el 17 de marzo de 2019 .
  4. ^ "Versión 14.2.3". 24 de abril de 2024 . Consultado el 15 de mayo de 2024 .
  5. ^ "Lanzamientos · vercel/next.js". GitHub . Vercel. Archivado desde el original el 16 de abril de 2024 . Consultado el 16 de abril de 2024 .
  6. ^ "Cadenas de herramientas recomendadas" (HTML) . Reaccionar documentación . Consultado el 10 de julio de 2021 .
  7. ^ Directrices de marca Next.js, 26 de agosto de 2022
  8. ^ "Desarrollar. Vista previa. Enviar. Para los mejores equipos frontend - Vercel" (HTML) . vercel.com . Archivado desde el original el 6 de octubre de 2021 . Consultado el 22 de septiembre de 2020 .
  9. ^ "Diferencias entre sitios generados estáticos y aplicaciones renderizadas del lado del servidor". Revista aplastante . 2020-07-02 . Consultado el 19 de octubre de 2020 .
  10. ^ abcdefg Thakkar, Mohit (2020), Thakkar, Mohit (ed.), "Next.js", Creación de aplicaciones React con renderizado del lado del servidor: utilice React, Redux y Next para crear aplicaciones completas de renderizado del lado del servidor , Berkeley, CA: Apress , págs. 93–137, doi :10.1007/978-1-4842-5869-9_3, ISBN 978-1-4842-5869-9, S2CID  241224880 , consultado el 20 de octubre de 2020
  11. ^ ab Thakkar, Mohit (2020), Thakkar, Mohit (ed.), "Agregar renderizado del lado del servidor a su aplicación React", Creación de aplicaciones React con renderizado del lado del servidor: utilice React, Redux y Next para crear un servidor completo. Aplicaciones de renderizado lateral , Berkeley, CA: Apress , págs. 139–152, doi :10.1007/978-1-4842-5869-9_4, ISBN 978-1-4842-5869-9, S2CID  216333955 , consultado el 20 de octubre de 2020
  12. ^ Asay, Matt (2 de diciembre de 2019). "Por qué el desarrollo front-end puede ser la nueva frontera". República Tecnológica . Consultado el 20 de octubre de 2020 .
  13. ^ ab Lukman, Adebiyi Adedotun (17 de septiembre de 2020). "Comparación de métodos de estilo en Next.js". Revista aplastante . Consultado el 20 de octubre de 2020 .
  14. ^ ab Asay, Matt (1 de febrero de 2020). "Una mirada privilegiada a las contribuciones del marco web de Google a Next.js y más". República Tecnológica . Consultado el 19 de octubre de 2020 .
  15. ^ Donovan, Ryan (7 de octubre de 2020). "¿Generación de sitios estáticos con funcionalidad de aplicación de una sola página? Eso es lo que viene a continuación (.js)" (html) . Blog de desbordamiento de pila . Consultado el 20 de octubre de 2020 .
  16. ^ Krill, Paul (31 de octubre de 2016). "Siguiente paso después de Node.js: marco para aplicaciones JavaScript 'universales'". InfoMundo . Consultado el 20 de octubre de 2020 .
  17. ^ Krill, Paul (28 de marzo de 2017). "Next.js 2.0 funciona mejor con React y JavaScript". InfoMundo . Consultado el 20 de octubre de 2020 .
  18. ^ Krill, Paul (21 de septiembre de 2018). "El marco Next.js 7 se compila más rápido y es compatible con WebAssembly". InfoMundo . Consultado el 20 de octubre de 2020 .
  19. ^ Krill, Paul (14 de febrero de 2019). "Next.js 8 ahora admite aplicaciones sin servidor". InfoMundo . Consultado el 20 de octubre de 2020 .
  20. ^ Krill, Paul (12 de marzo de 2020). "La actualización de Next.js enfatiza la generación de sitios estáticos". InfoMundo . Consultado el 20 de octubre de 2020 .
  21. ^ Krill, Paul (27 de julio de 2020). "Next.js agrega regeneración incremental de páginas estáticas". InfoMundo . Archivado desde el original el 2 de octubre de 2020 . Consultado el 22 de septiembre de 2020 .
  22. ^ "Siguiente.js 11" . Consultado el 10 de julio de 2021 .
  23. ^ "Siguiente.js 12". nextjs.org . Consultado el 27 de octubre de 2021 .
  24. ^ Orbán, Balázs (25 de octubre de 2022). "Siguiente.js 13". nextjs.org . Consultado el 9 de junio de 2023 .
  25. ^ Markbåge, Sebastián, Tim Neutkens (4 de mayo de 2023). "Siguiente.js 13.4". nextjs.org . Consultado el 7 de junio de 2023 .{{cite web}}: Mantenimiento CS1: varios nombres: lista de autores ( enlace )
  26. ^ "Siguiente.js 14.0.0". nextjs.org . 2023-12-08 . Consultado el 26 de noviembre de 2023 .
  27. ^ Krill, Paul (14 de febrero de 2019). "Next.js 8 ahora admite aplicaciones sin servidor". InfoMundo . Archivado desde el original el 2 de octubre de 2020 . Consultado el 22 de septiembre de 2020 .
  28. ^ "Arquitectura: Compilador Next.js | Next.js". nextjs.org . Consultado el 19 de agosto de 2023 .
  29. ^ "Arquitectura: Turbopack | Next.js". nextjs.org . Consultado el 19 de agosto de 2023 .
  30. ^ "Regeneración estática incremental con Next.js". Vercel . Consultado el 6 de marzo de 2022 .

enlaces externos