El Nuevo Enrutador de Aplicaciones de Next.js

Rate this content
Bookmark

Next.js 13.4 lanzó recientemente la versión estable del "Enrutador de Aplicaciones" - un cambio transformador para el núcleo del framework. En esta charla, compartiré por qué hicimos este cambio, los conceptos clave que debes conocer y por qué estoy emocionado por el futuro de React.

FAQ

Next.js es un marco de trabajo basado en React que permite la creación de aplicaciones web.

El enrutador de aplicaciones Next.js es una nueva funcionalidad lanzada para mejorar la gestión de rutas y la carga de datos en las aplicaciones Next.js.

La primera API de obtención de datos de Next.js fue 'getInitialProps', lanzada en 2016.

GetServerSideProps mejora la claridad de obtener datos en el lado del servidor, indicando explícitamente que la función se ejecuta en el servidor y envía información a los componentes.

El nuevo enrutador de aplicaciones busca resolver desafíos como la obtención de datos lenta, la gestión de estados de carga, y la integración de datos y UI, simplificando la arquitectura de Next.js.

GetServerSideProps permite que los datos sean frescos en cada solicitud o pre-renderizados durante la construcción, mejorando la eficiencia de carga y actualización de la página.

No es necesario migrar inmediatamente; ambos sistemas pueden coexistir y el enrutador de páginas seguirá siendo mantenido y actualizado.

Las acciones de servidor permiten ejecutar funciones directamente en el servidor, simplificando el código y eliminando la necesidad de rutas de API separadas.

Lee Robinson
Lee Robinson
27 min
02 Jun, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla de hoy trata sobre el Enrutador de Aplicaciones de Next.js, que ha evolucionado a lo largo de los años y ahora es una característica fundamental de Next.js. La charla cubre temas como agregar componentes, obtener datos remotos y explorar diseños. También se discute el envío de datos de formulario, la simplificación del código y la reutilización de componentes. El Enrutador de Aplicaciones permite la coexistencia con el enrutador de páginas existente y permite obtener datos en el nivel de diseño utilizando los Componentes del Servidor de React.

Available in English: The New Next.js App Router

1. Introducción al enrutador de aplicaciones Next.js

Short description:

Hoy, voy a hacer algo un poco diferente porque mi charla será completamente en VS Code. Soy Lee y trabajo en Vercel y lidero la comunidad de Next.js. Recientemente lanzamos algo llamado el enrutador de aplicaciones Next.js. Hoy, voy a hacer una demostración de cómo se ve el enrutador de aplicaciones. Next.js ha evolucionado mucho a lo largo de los años. Se lanzó originalmente en 2016 y tenía una forma específica de construir. Voy a hablar sobre el viaje a través de una aplicación real de cómo llegamos al enrutador de aplicaciones hoy. El núcleo de Next.js es el enrutamiento. Lanzamos Next.js en 2016 con un enrutamiento basado en el sistema de archivos. Esto es en lo que se construyó Next.js hace seis años. Vamos a construir un panel de control de aplicaciones internas que muestra una lista de facturas y tiene algunas páginas de configuración con diseños. Comencemos a estructurar un poco más esta página. Usaremos el diseño de inicio para la barra de navegación y las facturas. Esta es la estructura de nuestra página de inicio.

¡Woo! Como ella dijo, soy Lee y trabajo en Vercel y lidero la comunidad de Next.js. Si no has oído hablar de Next.js, es un marco de trabajo de React. Y recientemente lanzamos algo llamado el enrutador de aplicaciones Next.js. ¿Alguien ha oído hablar del enrutador de aplicaciones? Vale, eso es más manos de las que esperaba, eso es genial.

Así que para aquellos que no lo han hecho, lo que voy a hacer hoy es una demostración de cómo se ve el enrutador de aplicaciones. Por lo tanto, la premisa de esta charla se llama Metamorfosis de Next.js. Y el nombre de eso es porque Next.js ha evolucionado mucho a lo largo de los años. Se lanzó originalmente en 2016 y tenía una forma específica de construir. Y voy a hablar sobre el viaje a través de una aplicación real de cómo llegamos al enrutador de aplicaciones hoy.

Lo que tengo aquí es mi editor a la izquierda ejecutando una aplicación Next.js y luego mi navegador. Y lo primero con lo que vamos a empezar es el núcleo de Next.js, que es el enrutamiento. Lanzamos Next.js en 2016. Dijimos que nos encanta el enrutamiento basado en el sistema de archivos. Queríamos que fuera lo más fácil posible para que puedas empezar. Solo tienes que colocar un archivo en una carpeta y creará una nueva ruta. Así que aquí tengo pages/index.tsx. Así que si hago export default function home page y digo return React summit y guardo. Vemos React Summit. Esto es todo lo que se necesita para tener tu primera ruta disponible en tu servidor local o en producción y en esto se basó Next.js hace seis años.

Ahora lo que vamos a construir hoy es una especie de panel de control de aplicaciones internas que muestra una lista de facturas, tiene algunas páginas de configuración con algunos diseños y entraremos en algunas de las ventajas de las nuevas cosas que hemos estado usando. Así que empecemos a estructurar un poco más esta página. En lugar de devolver una cadena aquí, vamos a devolver un componente de diseño y veremos si mi VS Code no me está dando mis autocompletados útiles, pero está bien. Podemos escribir manualmente las cosas. Está bien. Haremos import layout for components y tengo dos diseños diferentes de la aplicación. Tenemos un diseño de inicio, así que lo usaremos aquí. Ahí vamos. Vale, tenemos una barra de navegación que se compartirá en toda nuestra aplicación y luego tenemos mis facturas. Así que esta es la estructura de nuestra página de inicio.

2. Añadiendo Componentes y Obteniendo Datos Remotos

Short description:

Ahora agreguemos algunos componentes como tarjetas y tablas para mostrar estadísticas sobre nuestra cuenta. Obtendremos datos remotos utilizando la API getInitialProps y los pasaremos a nuestros componentes de React. Esta API se ejecuta en el servidor y en las transiciones de página. Para mejorar esto, la API se dividió en dos funciones separadas: getInitialProps y getServerSideProps.

Ahora, dentro de aquí, también queremos tener algunos componentes y mostrar algunas interfaces de usuario. Así que hagamos algunas tarjetas que mostrarán algunas estadísticas sobre nuestra cuenta, tal vez cuánto dinero hay en nuestra cuenta, cuáles son las facturas y también haremos, oh, ahí vamos, está volviendo, está tratando de ayudarme un poco aquí. Componentes / tabla, déjame importar manualmente la tarjeta también, importar tarjeta de componentes tarjeta.

He creado algunos componentes de interfaz de usuario para que los usemos con anticipación. Tarjetas, tarjetas, genial. Entonces tenemos algunas tarjetas que no tienen ningún data en este momento. Y luego tenemos una tabla con algunos data estáticos. El núcleo de Next.js está construido sobre React, lo que te permite componer componentes, pero con frecuencia necesitas obtener algunos data remotos y pasarlo a tus componentes. La primera API que Next.js lanzó para hacer esto en 2016 se llamaba getInitialProps. Así que vamos a usar eso para obtener algunos data y ponerlo en la página. Entonces diré homepage.getInitialProps y esto será una función asíncrona de la que queremos obtener algunos data. Así que haremos const data = await getCardData. Y luego vamos a devolver ese data a la página. Así que veamos. No, lo escribiré yo mismo porque, oh, ahí vamos. De nuestra biblioteca, de nuestra database, voy a importar esta función getCardData que va a devolver algún JSON aquí, vamos a devolver ese data desde esta función, y eso se pasa a nuestro componente React. Así que dentro de nuestro componente React, tengo props para que pueda desestructurar el data aquí. Y simplemente agregaremos algún tipo any aquí. Me encanta eso. Y luego, debajo en nuestro componente de tarjetas, podemos pasar adelante ese data pasando props. Así que haré data aquí y guardaré. Tenemos data en nuestra página. ¡Woo! Me encanta. Esto funciona. Y podemos obtener datos remotos, pero tiene algunas compensaciones o algunas cosas que tal vez no sean obvias. Esto se ejecuta en el servidor, pero también se ejecuta en las transiciones de página. Entonces, esta primera API dejó margen de mejora para aclarar cómo importar y usar estas funciones para obtener datos remotos. Así que la metamorfosis de esto, la siguiente evolución de esta API fue dividirla en dos funciones separadas. Así que exportemos la función asíncrona getServerSideProps, y genial.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Compilador React Forget - Entendiendo React Idiomático
React Advanced Conference 2023React Advanced Conference 2023
33 min
Compilador React Forget - Entendiendo React Idiomático
Top Content
React ofrece un contrato a los desarrolladores: cumple ciertas reglas y React puede actualizar eficiente y correctamente la interfaz de usuario. En esta charla exploraremos estas reglas en profundidad, entendiendo el razonamiento detrás de ellas y cómo desbloquean nuevas direcciones como la memoización automática.
Acelerando tu aplicación React con menos JavaScript
React Summit 2023React Summit 2023
32 min
Acelerando tu aplicación React con menos JavaScript
Top Content
¿Demasiado JavaScript te está agobiando? Los nuevos marcos que prometen no usar JavaScript parecen interesantes, pero tienes una aplicación React existente que mantener. ¿Qué tal si Qwik React es tu respuesta para un inicio de aplicaciones más rápido y una mejor experiencia de usuario? Qwik React te permite convertir fácilmente tu aplicación React en una colección de islas, que pueden ser renderizadas en el servidor y rehidratadas con retraso, e incluso en algunos casos, se puede omitir la rehidratación por completo. Y todo esto de manera incremental sin una reescritura.
Enrutamiento en React 18 y más allá
React Summit 2022React Summit 2022
20 min
Enrutamiento en React 18 y más allá
Top Content
Concurrent React y Server Components están cambiando la forma en que pensamos sobre el enrutamiento, la renderización y la obtención de datos en las aplicaciones web. Next.js recientemente compartió parte de su visión para ayudar a los desarrolladores a adoptar estas nuevas características de React y aprovechar los beneficios que desbloquean.En esta charla, exploraremos el pasado, presente y futuro del enrutamiento en las aplicaciones de front-end y discutiremos cómo las nuevas características en React y Next.js pueden ayudarnos a arquitectar aplicaciones más eficientes y con más funciones.
SolidJS: ¿Por qué tanto Suspense?
JSNation 2023JSNation 2023
28 min
SolidJS: ¿Por qué tanto Suspense?
Top Content
Solid captó la atención de la comunidad frontend al popularizar la programación reactiva con su convincente uso de Señales para renderizar sin re-renderizaciones. Los hemos visto adoptados en el último año en todo, desde Preact hasta Angular. Las Señales ofrecen un conjunto poderoso de primitivas que aseguran que tu interfaz de usuario esté sincronizada con tu estado, independientemente de los componentes. Un lenguaje universal para la interfaz de usuario frontend.
Pero, ¿qué pasa con lo Asíncrono? ¿Cómo logramos orquestar la carga y mutación de datos, el renderizado en el servidor y la transmisión? Ryan Carniato, creador de SolidJS, echa un vistazo a una primitiva diferente. Una que a menudo se malinterpreta pero que es igual de poderosa en su uso. Únete a él mientras muestra de qué se trata todo este Suspense.
De GraphQL Zero a GraphQL Hero con RedwoodJS
GraphQL Galaxy 2021GraphQL Galaxy 2021
32 min
De GraphQL Zero a GraphQL Hero con RedwoodJS
Top Content
Todos amamos GraphQL, pero puede ser desalentador poner en marcha un servidor y mantener tu código organizado, mantenible y testeable a largo plazo. ¡No más! Ven a ver cómo paso de un directorio vacío a una API GraphQL completamente desarrollada en cuestión de minutos. Además, verás lo fácil que es usar y crear directivas para limpiar aún más tu código. ¡Vas a amar aún más GraphQL una vez que hagas las cosas Redwood Easy!
Los Átomos de Jotai Son Simplemente Funciones
React Day Berlin 2022React Day Berlin 2022
22 min
Los Átomos de Jotai Son Simplemente Funciones
Top Content
Jotai es una biblioteca de gestión de estado. La hemos estado desarrollando principalmente para React, pero conceptualmente no está vinculada a React. En esta charla, veremos cómo funcionan los átomos de Jotai y aprenderemos sobre el modelo mental que deberíamos tener. Los átomos son una abstracción agnóstica del marco para representar estados, y básicamente son solo funciones. Comprender la abstracción de átomo ayudará a diseñar e implementar estados en sus aplicaciones con Jotai

Workshops on related topic

Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
React Summit 2022React Summit 2022
173 min
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
Top Content
WorkshopFree
Kellen Mace
Kellen Mace
En esta masterclass, aprenderás cómo construir una aplicación Next.js que utiliza Apollo Client para obtener datos de un backend de WordPress sin cabeza y usarlo para renderizar las páginas de tu aplicación. Aprenderás cuándo debes considerar una arquitectura de WordPress sin cabeza, cómo convertir un backend de WordPress en un servidor GraphQL, cómo componer consultas usando el IDE GraphiQL, cómo colocar fragmentos GraphQL con tus componentes, y más.
Next.js 13: Estrategias de Obtención de Datos
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Estrategias de Obtención de Datos
Top Content
WorkshopFree
Alice De Mauro
Alice De Mauro
- Introducción- Prerrequisitos para la masterclass- Estrategias de obtención: fundamentos- Estrategias de obtención – práctica: API de obtención, caché (estática VS dinámica), revalidar, suspense (obtención de datos en paralelo)- Prueba tu construcción y sírvela en Vercel- Futuro: Componentes de servidor VS Componentes de cliente- Huevo de pascua de la masterclass (no relacionado con el tema, destacando la accesibilidad)- Conclusión
Crear un Sitio Web Editable Visualmente con Next.js Utilizando React Bricks, con Blog y Comercio Electrónico
React Summit 2023React Summit 2023
139 min
Crear un Sitio Web Editable Visualmente con Next.js Utilizando React Bricks, con Blog y Comercio Electrónico
WorkshopFree
Matteo Frana
Matteo Frana
- React Bricks: por qué lo construimos, qué es y cómo funciona- Crear una cuenta gratuita- Crear un nuevo proyecto con Next.js y Tailwind- Explorar la estructura de directorios- Anatomía de un Brick- Crear un nuevo Brick (Texto-Imagen)- Agregar un título y descripción con edición visual RichText- Agregar una imagen con edición visual- Agregar controles de barra lateral para editar props (padding y lado de la imagen)- Anidar Bricks usando el componente Repeater- Crear un brick de galería de imágenes- Publicar en Netlify o Vercel- Tipos de página y campos personalizados- Acceder a los valores meta de la página- Internacionalización- Cómo reutilizar contenido en varias páginas: Historias e Incrustaciones- Cómo crear un comercio electrónico con datos de productos de una base de datos externa y páginas de destino creadas visualmente en React Bricks- Funciones empresariales avanzadas: permisos flexibles, estructura bloqueada, componentes visuales personalizados
Construyendo Sitios Web Ultrarrápidos con Next.js y Sanity.io
React Summit 2023React Summit 2023
71 min
Construyendo Sitios Web Ultrarrápidos con Next.js y Sanity.io
WorkshopFree
Nancy Du
Nataliya Ioffe
2 authors
Únete a nosotros en un masterclass práctico donde te mostraremos cómo mejorar tus habilidades de React para construir un sitio web sin cabeza de alto rendimiento utilizando Next.js, Sanity y la arquitectura JAMstack. No se requiere conocimiento previo de Next.js o Sanity, lo que hace que este masterclass sea ideal para cualquier persona familiarizada con React que quiera aprender más sobre la construcción de sitios web dinámicos y receptivos.
En este masterclass, exploraremos cómo Next.js, un framework basado en React, se puede utilizar para construir un sitio web estático con renderizado del lado del servidor y enrutamiento dinámico. Aprenderás cómo utilizar Sanity como un CMS sin cabeza para gestionar el contenido de tu sitio web, crear plantillas de página personalizadas con Next.js, utilizar APIs para integrarte con el CMS y desplegar tu sitio web en producción con Vercel.
Al final de este masterclass, tendrás una comprensión sólida de cómo Next.js y Sanity.io pueden utilizarse juntos para crear un sitio web de alto rendimiento, escalable y flexible.
Masterclass de GraphQL en la Nube con Neo4j Aura, Next.js y Vercel
GraphQL Galaxy 2021GraphQL Galaxy 2021
161 min
Masterclass de GraphQL en la Nube con Neo4j Aura, Next.js y Vercel
WorkshopFree
William Lyon
William Lyon
En este masterclass construiremos y desplegaremos una aplicación de GraphQL de pila completa utilizando Next.js, Neo4j y Vercel. Utilizando un grafo de conocimiento de artículos de noticias, primero construiremos una API de GraphQL utilizando las rutas de API de Next.js y la Biblioteca de GraphQL de Neo4j. A continuación, nos enfocaremos en el front-end, explorando cómo utilizar GraphQL para la obtención de datos con una aplicación de Next.js. Por último, exploraremos cómo agregar personalización y recomendación de contenido en nuestra API de GraphQL para servir artículos relevantes a nuestros usuarios, luego desplegaremos nuestra aplicación en la nube utilizando Vercel y Neo4j Aura.

Tabla de contenidos:
- Visión general de Next.js y cómo empezar con Next.js
- Rutas de API con Next.js y construcción de una API de GraphQL
- Utilizando la Biblioteca de GraphQL de Neo4j
- Trabajando con Apollo Client y obtención de datos de GraphQL en Next.js
- Despliegue con Vercel y Neo4j Aura
Masterclass de alto rendimiento Next.js
React Summit 2022React Summit 2022
50 min
Masterclass de alto rendimiento Next.js
Workshop
Michele Riva
Michele Riva
Next.js es un marco convincente que facilita muchas tareas al proporcionar muchas soluciones listas para usar. Pero tan pronto como nuestra aplicación necesita escalar, es esencial mantener un alto rendimiento sin comprometer el mantenimiento y los costos del servidor. En este masterclass, veremos cómo analizar el rendimiento de Next.js, el uso de recursos, cómo escalarlo y cómo tomar las decisiones correctas al escribir la arquitectura de la aplicación.