Curso intensivo sobre Jamstack con Next.js y Storyblok

Rate this content
Bookmark

Es posible que ya hayas leído sobre Jamstack. Probablemente ya hayas utilizado Next.js y recientemente hayas escuchado mucho sobre los CMS sin cabeza. Este curso rápido pondrá todas las piezas juntas y te mostrará por qué Storyblok, combinado con Next.js, es la mejor combinación para tu próximo proyecto. ¡Ven y pruébalo tú mismo!


- Conocimiento profundo de Jamstack. Cómo ha cambiado desde los tiempos antiguos hasta el mundo moderno. Aprende cómo se creó Jamstack comparando los sitios estáticos y los sitios dinámicos.

- Cómo Next.js sirve contenido y cómo se sirve el contenido con la generación de sitios estáticos (SSG).

- Metodología de diseño atómico y cómo se aplica al sistema de gestión de contenido.

- Experiencia práctica en proyectos construyendo un proyecto Jamstack con Next.js y Storyblok.


Requisitos previos

- Cualquier editor de texto. Se recomienda Visual Studio Code

- Node.js LTS

- NPM o Yarn

- Cuenta de GitHub

- Cuenta de Vercel

- Familiaridad con JavaScript, React y Git. Haber trabajado con Next.js antes es una ventaja


Lo que se incluye

1. Introducción y descripción general del curso

2. Introducción a Jamstack

3. Introducción al diseño atómico

4. Descripción general de los CMS sin cabeza

5. Introducción a Storyblok

6. Creación de una aplicación Next.js

7. Creación de un espacio Storyblok

8. Conexión de Next.js y Storyblok

9. Creación de componentes personalizados

10. Creación de la primera página

11. Introducción a Visual

12. Adición de páginas dinámicas

13. Creación de la sección de blogs

14. Implementación en Vercel

FAQ

Storyblock es un sistema de gestión de contenido (CMS) sin cabeza que permite a los desarrolladores separar el contenido de la presentación. Se utiliza para crear sitios web y aplicaciones web dinámicas, permitiendo que el contenido sea reutilizado y entregado a través de diferentes plataformas.

Para configurar un entorno de vista previa en Storyblock con Next.js, es necesario añadir un enlace de vista previa en Storyblock y configurar Next.js para utilizar este enlace. Esto permite que getStaticProps y getStaticPaths se ejecuten en cada carga de página, asegurando que los cambios en el contenido se reflejen inmediatamente en el entorno de desarrollo.

Un componente dinámico en Storyblock es un bloque de contenido que se puede reutilizar y configurar dinámicamente dentro de diferentes páginas. Se implementa registrando el componente en el código del proyecto (por ejemplo, en Next.js) y luego utilizándolo en el CMS de Storyblock para agregar contenido dinámico a las páginas.

Para automatizar el despliegue de un proyecto Next.js con Storyblock, se puede utilizar un webhook de Vercel que se activa cada vez que se publica contenido en Storyblock. Esto inicia una nueva construcción y despliegue del sitio en Vercel, asegurando que el contenido actualizado se refleje en el sitio en vivo.

Los beneficios de usar Storyblock incluyen la flexibilidad en la gestión del contenido, la capacidad de entregar contenido a múltiples plataformas y dispositivos, y la mejora en la colaboración entre desarrolladores y editores de contenido. Además, su naturaleza sin cabeza permite una mejor escalabilidad y mantenimiento del sitio web o aplicación.

En Storyblock, las relaciones de contenido se resuelven utilizando la función resolveRelations de la API de Storyblock. Esto permite cargar y mostrar información relacionada, como artículos o productos relacionados, directamente dentro de las páginas de Next.js, facilitando la gestión de contenido interconectado.

Un gancho de despliegue es una URL proporcionada por Vercel que, cuando se invoca, desencadena un nuevo despliegue del sitio. En Storyblock, se puede configurar un gancho de despliegue para que cada vez que se publique o actualice contenido, se notifique a Vercel para que reconstruya y despliegue automáticamente el sitio actualizado.

Arisa Fukuzaki
Arisa Fukuzaki
Chakit Arora
Chakit Arora
161 min
28 Nov, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Este curso sobre desarrollo web cubre temas como páginas web estáticas y dinámicas, el enfoque de Jamstack, sistemas de gestión de contenido y el uso de Storyblok. Se enfatizan los beneficios de tener un sistema, la integración de Storyblok con Next.js y la creación de componentes dinámicos. El curso también discute la configuración de Storyblok, su conexión con Next.js y la implementación de la aplicación en Vercel. Concluye con un enfoque en el entorno de vista previa, la creación de componentes de blog y el proceso de implementación.

1. Introducción al Desarrollo Web

Short description:

Mi nombre es Jagat y estoy basado en India. Trabajo como Ingeniero de Relaciones con Desarrolladores en Storyblock. Puedes encontrarme en Twitter. Mi nombre es Arisa, originalmente de Japón, pero actualmente basada en Berlín. Trabajo como Ingeniera de Desarrollo en Storyblock. Tengo experiencia con diferentes charlas y talleres. Estaremos construyendo un sitio web de blogs. Tiene un encabezado, un héroe, bloques, una página de blog y una página de detalles. Tendremos pausas para preguntas. Hablemos sobre páginas web estáticas y dinámicas. Las páginas estáticas se entregan como HTML almacenado. Las páginas dinámicas tienen HTML decidido en el servidor. Las páginas estáticas son rápidas, económicas, fáciles de mantener, seguras, fáciles de escalar y estables. Las aplicaciones de una sola página son útiles para interacciones dinámicas. Tienen un archivo HTML y son rápidas. El renderizado en el lado del servidor se genera en el servidor, mientras que el renderizado en el lado del cliente se maneja con JavaScript en el front-end. El renderizado en el lado del servidor tiene mejor SEO, carga inicial más rápida y es más seguro. Requiere recargar la página al navegar a una página diferente.

Mi nombre es Jagat y estoy basado en India. Creo que esa información ya está disponible. Y trabajo como Ingeniero de Relaciones con Desarrolladores en Storyblock. Y creo, sí, y puedes encontrarme en Twitter.

Mi nombre es Arisa, originalmente de Japón, pero actualmente basada en Berlín. Pero dependiendo de los días y las semanas, es posible que me encuentres en algún lugar del mundo porque tiendo a aparecer en un par de conferencias y hablar, pero principalmente en horario europeo. Regiones europeas allí. Así que gracias por mí. También diría que soy una ingeniera de desarrollo en Storyblock como verificarlo. Pero lo que pasa es que, como, también trabajo con un par de, digamos, diferentes charlas y talleres como hoy. Así que tal vez algunos de ustedes me hayan visto antes. Pero sí, estoy feliz de verlos de nuevo. Si es la primera vez que los conozco a todos. Muy agradable conocerte, y espero verte de nuevo en alguna sala del mundo también. Pero hoy estoy muy feliz de tenerte aquí.

Este es el enlace donde puedes ver lo que vamos a construir. Entonces sí, esto es nuevamente solo un sitio web de blogs normal con un encabezado, quiero decir, con un héroe, luego también agregamos un par de bloques, incluso puedes ver la página de blog, creo que debería funcionar. Sí. Y también tendremos esta página donde puedes ver los detalles de un blog en particular. Entonces sí, creo que eso es lo más importante de la introducción aquí. Quiero decir, creo que vamos a comenzar desde aquí. Como puedes ver, este es el horario, también vamos a tener algunas pausas en el medio en caso de que tengas alguna pregunta o algo, entonces estamos felices de responder también. Hablemos sobre Jamstack. Y como mencioné, hablemos un poco sobre la terminología. Vamos a profundizar un poco en la historia, cómo solían funcionar las cosas, cómo funcionan ahora. Así que comencemos con las páginas estáticas primero. Entonces sí, ¿qué es una página estática? Una página estática es algo que se entrega exactamente al lado del cliente tal como está almacenado. Quiero decir, es el mismo HTML que va a ser utilizado por todos. Entonces, quien visite el sitio web, quien visite la página, va a ser el mismo HTML, definitivamente puedes cambiar algunas cosas en el front-end. Pero en su mayoría va a ser el mismo HTML que se entregará a cualquiera de los usuarios, no importa qué usuario se una o qué usuario acceda al sitio web, es como si siempre tuvieras el mismo código HTML presente allí. Entonces eso es principalmente páginas estáticas, donde nuevamente se entrega exactamente de la manera en que se almacena. Luego hablemos de las páginas web dinámicas. Las páginas web dinámicas son algo en las que tu HTML se decide en el servidor. Incluye un motor de plantillas, sabes, como, digamos, un cliente está enviando una solicitud a tu alrededor, tienes algo de lógica allí, sabes, haces algunas cosas allí, y luego renderizas el HTML o envías el HTML al front-end dependiendo de la solicitud o dependiendo del tipo o dependiendo del usuario o dependiendo de cualquier caso de uso. Entonces eso es en su mayoría, la mayor parte de la página web dinámica. Y así es como se ven las páginas web dinámicas. Sí, también tengo uno de los diagramas conmigo hoy para explicarte cómo se ve eso. Entonces puedes ver que la primera parte aquí, la primera parte del diagrama, dice que, sabes, como, este es el ejemplo de una página web estática. Entonces puedes ver que el usuario está solicitando algo o el usuario está solicitando una página desde el lado del cliente. Y puedes ver que es como si fuera, quiero decir, es como si fuera una especie de, quiero decir, es como si fuera esta especie de interacción donde el usuario solicita algo del servidor y el servidor luego devuelve exactamente la misma página HTML que mencioné. Por otro lado, puedes ver que este es el caso de las páginas web dinámicas. Entonces puedes ver que solicitas algo al servidor, luego el servidor va a la base de datos o encuentra algo o el servidor realiza algún tipo de manipulación dependiendo del caso de uso o cualquier otra cosa y luego el servidor cambia el HTML detrás de escena y luego te entrega el HTML. Así que eso es principalmente, eso es solo una breve introducción a las páginas web estáticas y dinámicas. Hay un par de, quiero decir, no un par de, hay muchos beneficios ahora. Quiero decir, sabes, obtienes con las páginas web estáticas. El primero sería rápido porque es como si fuera la misma página que se está entregando. Entonces no es como si estuvieras aplicando lógica cada vez con cada solicitud. Es como si obtuvieras instantáneamente lo que tienes. Luego es económico. Es porque, sabes, está principalmente relacionado con el almacenamiento. No es como si necesitaras mucho, necesitaras una infraestructura muy buena o necesitaras, sabes, quiero decir, es, es, es de nuevo económico porque no tienes que realizar lógica en todas partes. Y nuevamente, es fácil de mantener porque está relacionado con el almacenamiento. Entonces, en caso de que desees tener más páginas web estáticas en tu servidor o más de estas páginas en tu servidor, solo necesitas trabajar con el almacenamiento. La mayoría de las veces es, de nuevo, no es que necesites configurar muchas cosas. Y no es como si tuvieras que mantener muchas cosas en eso. Pero nuevamente, es seguro, porque cada vez que envías una solicitud al servidor, va a ser lo mismo. No es que vaya a haber muchas cosas, no tienes que preocuparte mucho por la seguridad de la aplicación. Quiero decir, definitivamente necesitas tener los controles en su lugar. Necesitas hacer las cosas básicas que generalmente hacemos. Pero es como si las aplicaciones estáticas, las páginas web estáticas fueran más seguras. Y de manera similar, son fáciles de escalar y estables debido a las mismas razones. Está principalmente relacionado con el almacenamiento. Y está principalmente relacionado con, sabes, menos cantidad de lógica, quiero decir, menos lógica en el lado del servidor. Entonces, creo que estos son los beneficios de las páginas estáticas. Sigamos adelante. También tenemos actualmente aplicaciones de una sola página. Entonces, las aplicaciones de una sola página, quiero decir, sabes, solíamos tener muchas páginas estáticas en el pasado porque no podías interactuar mucho con las páginas web que solían estar allí. Entonces, ese fue el momento en que solíamos tener muchas páginas web estáticas. Y, sabes, a medida que pasaba el tiempo, usábamos muchas páginas web del lado del servidor, donde quiero decir, páginas web dinámicas donde aplicas la lógica y cosas así, pero los beneficios de las páginas web estáticas, se mantienen allí. Hablando de las aplicaciones de una sola página, la mayor parte del tiempo, es un archivo HTML que se entrega en tu front-end. Y luego tu JavaScript es responsable de hidratar eso, la mayor parte de las veces, sabes, regenerando las rutas, ya sean dinámicas o estáticas o cualquier cosa, pero es como si no vieras muchas recargas sucediendo dentro de una aplicación de una sola página. Quiero decir, como dice el nombre, es una aplicación de una sola página y para la mayoría de los frameworks de front-end que usamos hoy en día. No estoy hablando de la parte de JAMstack primero porque obviamente vamos a llegar allí con el tiempo, pero hablando de React, hablando de Vue, hablando de Angular si los usas en su modo general o en la forma en que eran, es como si la mayoría de ellos fueran estáticos, son aplicaciones de una sola página y son bastante útiles. Quiero decir, puedes tener muchas interacciones dinámicas, puedes jugar con muchas cosas y, sabes, puedes controlar muchas cosas y puedes jugar como mencioné, dependiendo de dónde se una el usuario y se vuelve mucho más fácil y la carga allí sigue siendo rápida. Quiero decir, la carga dinámica, sigue siendo rápida y cosas así. De acuerdo, sigamos adelante. Veamos también los tipos de renderizado que tenemos. Lo primero que te estoy mostrando aquí es el renderizado en el lado del servidor. Entonces, el renderizado en el lado del servidor es algo nuevamente, donde tu HTML se renderiza en el servidor, donde se genera en el servidor. Luego, si hablamos del renderizado en el lado del cliente, es como si la mayor parte del renderizado, la mayor parte del HTML que se renderiza, en su mayoría se maneja con JavaScript, pero, como, en su mayoría, sucede en el lado del cliente, en el lado del cliente, por lo que tienes lógica allí. Y todo lo que ves o todo lo que obtienes, en su mayoría sucede en el lado del front-end, el front-end juega con los datos, oculta algunos de los datos, obtiene algunos de los datos y cosas así. Y por otro lado, si hablamos del lado del cliente, es como si, por otro lado, si hablamos del lado del servidor, es como si todo el renderizado fuera en el lado del servidor y nuevamente te está dando el HTML que se genera en el servidor. Hablando de los pros y los contras de ambos tipos de renderizado, si hablamos del renderizado en el lado del servidor, la mayor parte del tiempo, sabes, el beneficio que creo que la mayor parte del tiempo tengo con el renderizado en el lado del servidor es un mejor SEO y optimización en redes sociales porque el lado del servidor se puede indexar fácilmente, es como si el HTML renderizado se pudiera indexar fácilmente y cosas así. Incluso puedes ver un par de pros más que se enumeran aquí. Entonces, sabes, por ejemplo, como dice, carga inicial más rápida. Entonces dice que si usas el lado del cliente, quiero decir, si usas el lado del cliente, va a ser como si fuera el mismo HTML la mayor parte del tiempo, la misma página HTML que quieres la mayor parte del tiempo. Y es como si la primera carga fuera bastante complicada cuando usas algún tipo de renderizado en el lado del cliente o aplicaciones de una sola página, pero en el lado del servidor, nuevamente, la mayor parte de la parte complicada sucede en el servidor y obtienes exactamente lo que necesitas ver en el front-end. Las aplicaciones del lado del servidor, quiero decir, el renderizado en el lado del servidor, son más seguras, obviamente, porque hay código del lado del servidor involucrado. Y, obviamente, es más liviano, quiero decir, no es una carga muy pesada en las aplicaciones del lado del cliente o en los dispositivos del lado del cliente, porque todo, la mayor parte de la lógica, la mayor parte de la lógica se realiza en el servidor.

2. Introducción a Jamstack

Short description:

Si hablamos de las desventajas, puedes ver que en general, cada vez que necesitas recargar la página completa al pasar a otra página. Por otro lado, con el renderizado en el lado del cliente, hay ventajas como interacciones rápidas y una carga menor en el lado del servidor. Sin embargo, la carga inicial de la página es lenta y hay un bajo SEO. También hay muchas dependencias. Jamstack utiliza JavaScript, APIs y Marcado para optimizar el rendimiento. Genera sitios web estáticos que se pueden almacenar en caché y los implementa en una CDN. Se utiliza JavaScript en el lado del cliente y se llaman APIs para interacciones dinámicas. La estructura implica cambiar el contenido, reconstruir páginas e implementar activos estáticos en una CDN. Las APIs se utilizan para generar contenido dinámico. Los generadores de sitios estáticos permiten extraer activos estáticos de los sitios web. El flujo de generación de sitios estáticos involucra datos, contenido, plantillas y un generador. Los beneficios de los sitios web estáticos incluyen un mejor rendimiento, un mantenimiento más fácil y costos más bajos. Next JS se utiliza como constructor de sitios estáticos. Los sistemas de gestión de contenido no siempre son necesarios en el enfoque de Jamstack.

Si hablamos de las desventajas, puedes ver que, ya sabes, en general, en general, cada vez que necesitas recargar la página completa cada vez que te mueves a otra página. Sí, creo que esas son la mayoría de las dificultades, que siento cuando trabajo con el renderizado en el lado del servidor, y también puedes ver que las páginas se cargan más rápido. Pero no son muy interactivas. Por otro lado, si hablamos del renderizado en el lado del cliente, puedes ver que hay ventajas, como interacciones rápidas. Porque, de nuevo, estás jugando con JavaScript en el front-end, puedes hacer prácticamente cualquier cosa que quieras allí. Hay una carga menor en el lado del servidor, porque la mayor parte de la lógica ocurre en el lado del cliente o, quiero decir, en tu lado del cliente. Y, de nuevo, una vez que se carga tu página inicial, la mayoría de las veces, si te mueves a otra página o si generas una nueva página o si realizas alguna lógica, es más rápido en comparación con el renderizado en el lado del servidor, porque todo, de nuevo, no tiene que pasar por el servidor, no tiene que venir del servidor. En este punto, también puedes tener componentes de interfaz de usuario utilizables. Estoy seguro de que la mayoría de nosotros ya estamos familiarizados con esta parte, porque es como, de nuevo, si estás usando alguna vista de React o algún framework como React, Vue o Angular, la mayoría de ellos utilizan componentes de interfaz de usuario reutilizables. Por otro lado, si hablamos de las desventajas, nuevamente, como mencioné antes, la carga inicial de la página va a ser muy lenta, porque es como si fuera la página completa, que es como el HTML completo que simplemente se carga y luego tu JavaScript trabaja en ello. Entonces, JavaScript tiene que renderizar, quiero decir, JavaScript tiene que aplicar la lógica. Tiene que trabajar en el lado del front-end y tiene que ver qué renderizar. Entonces, sí, es lento y la carga inicial de la página. Luego también tenemos un bajo SEO, porque, quiero decir, recuerdo cuando recién comencé con los frameworks de front-end, solía haber momentos en los que estaba construyendo mi portafolio y cosas así, y pensaba, ya sé Vue, pero ahora, ¿cómo voy a hacer la parte de SEO y cosas así? Luego me di cuenta de que la mayoría de las veces, necesito instalar un par de cosas y no va a funcionar de manera muy eficiente como solía funcionar con páginas estáticas y renderizado en el lado del servidor. Sí, esas son las desventajas y hay muchas dependencias, como mencioné antes, las bibliotecas externas y cosas así. Entonces, incluso si deseas tener algo para el lado de SEO, necesitas instalar un par de cosas. Y así es como funciona dependiendo del framework de front-end que estés utilizando. Creo que esa fue una breve introducción sobre el renderizado y el tipo de páginas. Ahora podemos pasar a Jamstack y ver exactamente qué es Jamstack y cómo Jamstack utiliza todos los beneficios de, no diré todos los beneficios, pero diré los beneficios de todas las cosas que discutimos y cómo funciona y qué términos están asociados con Jamstack. Esta es la definición normal que encontramos en Internet. Dice que es una nueva forma de construir sitios web y aplicaciones que ofrecen un mejor rendimiento, mayor seguridad, menor costo de escalabilidad y una mejor experiencia para los desarrolladores. Pero, quiero decir, ¿cómo funciona eso? Así que vamos a ver cómo funciona y, quiero decir, también estoy leyendo la definición porque nunca puedo aprender la definición porque necesito ver cómo funciona. Y solo entonces puedo entender lo que significa la definición.

De acuerdo, sí. Así es como encontré esta imagen y muestra qué son las cosas. Entonces, quiero decir, lo primero es esta mermelada. ¿Qué significa la J? ¿Qué significa la A? ¿Qué significa la M? Entonces, en general, se necesita usar todas estas cosas de tal manera que todo se optimice más. Entonces, necesitas usar JavaScript en el lado del cliente y necesitas tener tu lógica allí. Cómo puedes usar JavaScript y luego puedes usar las APIs para obtener los datos en caso de que haya algo dinámico, luego necesitas usar las APIs, y luego tenemos el marcado, que es la parte de HTML la mayoría de las veces. Y sí, quiero decir, la mayoría de las veces hacemos esto del marcado, quiero decir, construimos esto del marcado en el momento de la compilación. Quiero decir, solo tenemos ese tipo de cosas en su lugar. Pero será más claro una vez que nos adentremos en ello. Quiero decir, como mencioné, hay algunos términos y hay algunas cosas que, quiero decir, no diría que son solo estas reglas estrictas que debes seguir, pero es algo que si sigues en el enfoque de Jamstack, es mejor, quiero decir, puedes llamarlo más como una cosa de Jamstack cuando sigues estas cosas de las que vamos a hablar. De acuerdo. Principalmente dice que necesitas generar sitios web estáticos que se puedan almacenar en caché o activos estáticos en el momento de la compilación siempre que sea posible. Entonces, la mayoría de las veces, cuando estás construyendo la aplicación, cuando estás, ya sabes, cuando estás implementando la aplicación antes de eso, cuando construyes la aplicación, la mayoría de las veces queremos que todas estas cosas estáticas se generen en ese momento. Entonces, incluso si, ya sabes, digamos, si estás obteniendo los datos de algún lugar, la mayoría de las veces los has obtenido primero, luego has construido la página y esa página construida va a ser similar para todos los usuarios o algo así. Quiero decir, definitivamente necesitas tener una parte dinámica en el medio a veces, pero por eso dice que siempre que sea posible y en la medida en que sea posible. Entonces, necesitas hacer este tipo de construcción estática tanto como puedas, porque la construcción estática, estos activos estáticos nos van a dar los beneficios de la página web estática de los que hablamos. Entonces, quiero decir, si la mayor parte ya está renderizada allí, solo necesitas mostrarla. Es como, ya sabes, es más fácil para el SEO. Es más fácil para entregarlo porque no hay mucha lógica que ocurra todo el tiempo. No es que JavaScript esté renderizando algo que está ahí para todos los usuarios cada vez. Solo construye uno. Quiero decir, solo construyes ese tipo de activos estáticos una vez y luego simplemente los entregas a través de la red de una CDN o cualquier otra cosa en la que estés implementando. Sí. Entonces, sí, y eso es lo que iba a mencionar a continuación. Entonces, es como que necesitas implementar estos activos en una CDN. Entonces, ya sabes, por eso mencionamos la parte de almacenamiento en caché allí. Una vez que tienes esto, es mejor que lo implementes en una red de distribución de contenido. Y, ya sabes, puedes usar esos bordes de esa red de distribución de contenido para brindar al usuario una experiencia más rápida, ya que esas páginas son principalmente estáticas. O ya sabes, ya que esos activos son principalmente estáticos, de todos modos son más rápidos. Incluso si los implementas en una CDN o en una red de distribución, será aún más rápido para que el usuario, ya sabes, interactúe. O quiero decir, obtenga esas páginas o obtenga esas aplicaciones web para ellos mismos. Una cosa que mencionar aquí es que, creo que todos estos activos estáticos, que estás entregando, no es que, ya sabes, quiero decir, ya lo mencioné antes, no es que no puedas tener una parte dinámica allí. Pero es como que una vez que estás construyendo la mayor parte de eso, tiene que ser estático. Y sí, creo que eso es la mayoría de eso aquí. Y puedo pasar a la siguiente diapositiva, que dice nuevamente que necesitas usar JavaScript en el lado del cliente. Y, ya sabes, necesitas llamar a APIs de terceros, junto con estas funciones sin servidor para interacciones dinámicas, que mencioné antes. Otra cosa aquí, ya sabes, cuando tenemos esta red de borde, quiero decir, cuando tenemos la red de distribución de contenido, es como que cada vez que algo cambia en tu sitio web, digamos, ya sabes, tienes un blog y luego cambias algo dentro de un blog, luego necesitas reconstruir esa página en particular, porque no va a cambiar de nuevo. Entonces reconstruyes ese tipo de cosas y esta caché debe invalidarse para que los usuarios puedan ver el contenido actualizado. Entonces, una vez que se crea, necesitas reconstruir ese tipo de cosa, esa página en particular o esa parte en particular para que el usuario pueda ver el contenido actualizado. Sigamos adelante. Así es como se ve la estructura. Entonces, puedes ver que generalmente estará en tu repositorio de Git, tal vez estés usando GitLab, GitHub o cualquier otra cosa. Hoy vamos a usar GitHub para implementarlo nosotros mismos. Pero sí, así es como se ve. Cambias algo cuando quieras, luego ese CI, CD pipeline en particular, que tienes, va a reconstruir ese tipo de páginas, tal vez el sitio web completo o tal vez las páginas específicas que hayas seleccionado, y eso va a generar estos activos estáticos, ya sea HTML, PNG y otros archivos estáticos que tenga. Y una vez que eso esté, ya sabes, está en la CDN. Y los usuarios pueden acceder desde estos puntos. Quiero decir, el usuario puede acceder a cualquiera de las páginas desde estos puntos. Y luego tienes las APIs, cuando hay algo dinámico sucediendo, entonces puedes usar estas APIs. Quiero decir, puedes usar estas APIs para generar contenido dinámico. Entonces, digamos que hay una página donde, ya sabes, tienes algunas cosas y solo necesitas que una pequeña parte sea dinámica. Puedes, quiero decir, solo puedes solicitar esa parte de las APIs, desde cualquier sistema o desde donde quieras. Sí, hablemos también de los generadores de sitios estáticos. Es un software o una herramienta que te permite generar los activos estáticos para cualquier sitio web o cualquier proyecto del que estábamos hablando. Por ejemplo, si estás construyendo un sitio web, hay muchos constructores de sitios estáticos o generadores de sitios estáticos que te permiten, ya sabes, extraer los activos estáticos de eso. Entonces, solo puedes implementar esos activos estáticos en cualquier lugar. Sí, como dice la definición, es un software que produce e implementa un sitio web estático utilizando fuentes de datos y plantillas. Creo que hay algunos ejemplos que deberían estar en algún lugar, pero creo que estarán en las próximas diapositivas. Pero así es como se ve el flujo de generación de sitios estáticos, puedes ver que hay datos, hay contenido, hay plantillas, usas el generador de sitios estáticos en el medio, y eso va a generar el sitio web para ti. Y te va a dar un sitio web estático. Y luego puedes, de nuevo, obtener los beneficios de una página web estática, de los que hablamos con este sitio web, va a ser más rápido, va a ser más fácil de mantener, va a ser más barato y todas las demás cosas. Y hoy vamos a usar Next JS como nuestro constructor de sitios estáticos. Entonces, vamos a usar la parte de generación de sitios estáticos de Next JS con nuestro código hoy. Vamos a usar esto. Sigamos adelante. ¿Qué es un sistema de gestión de contenido? No siempre es necesario utilizar un sistema de gestión de contenido en el enfoque de Jamstack.

Watch more workshops on 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.

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

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.
RedwoodJS: El marco de aplicación React Full-Stack de tus sueños
React Summit Remote Edition 2021React Summit Remote Edition 2021
43 min
RedwoodJS: El marco de aplicación React Full-Stack de tus sueños
Top Content
¿Cansado de reconstruir tu marco de trabajo web basado en React desde cero para cada nuevo proyecto? ¡Estás de suerte! RedwoodJS es un marco de aplicación web de pila completa (piensa en Rails pero para desarrolladores JS/TS) basado en React, Apollo GraphQL y Prisma 2. Nosotros hacemos el trabajo de integración pesada para que tú no tengas que hacerlo. También integramos de manera hermosa Jest y Storybook, y ofrecemos soluciones incorporadas para la obtención de datos declarativa, autenticación, pre-renderizado, registro, a11y y mucho más. Despliega en Netlify, Vercel, o vuelve a la vieja escuela en AWS o metal desnudo. En esta charla aprenderás sobre la arquitectura de RedwoodJS, verás las características principales en acción, y te irás con una sensación de asombro y admiración en tu corazón.
El Nuevo Enrutador de Aplicaciones de Next.js
React Summit 2023React Summit 2023
27 min
El Nuevo Enrutador de Aplicaciones de Next.js
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.
Una Guía Práctica para Migrar a Componentes de Servidor
React Advanced Conference 2023React Advanced Conference 2023
28 min
Una Guía Práctica para Migrar a Componentes de Servidor
Los Componentes de Servidor son la nueva gran cosa, pero hasta ahora gran parte del discurso a su alrededor ha sido abstracto. Cambiemos eso. Esta charla se centrará en el lado práctico de las cosas, proporcionando un mapa de ruta para navegar el viaje de migración. Comenzando desde una aplicación que utiliza el antiguo enrutador de páginas de Next.js y React Query, desglosaremos este viaje en un conjunto de pasos accionables e incrementales, deteniéndonos solo cuando tengamos algo que se pueda enviar y que sea claramente superior a lo que comenzamos. También discutiremos los próximos pasos y estrategias para adoptar gradualmente más aspectos de este paradigma transformador.
No sabes cómo hacer SSR
DevOps.js Conf 2024DevOps.js Conf 2024
23 min
No sabes cómo hacer SSR
Un recorrido por la evolución del SSR en los últimos doce años. Cubriremos cómo han cambiado las técnicas, los problemas típicos, las herramientas que puedes utilizar y diversas soluciones, todo desde el punto de vista de mi experiencia personal como consumidor y mantenedor.
Una Saga de Problemas de Renderizado Web
Vue.js London 2023Vue.js London 2023
28 min
Una Saga de Problemas de Renderizado Web
Esta charla analizará la evolución de los modos de renderizado web y de qué se trata el movimiento Jamstack. Construiremos un proyecto de demostración para mostrar cómo se pueden combinar un generador de sitios estáticos y un CMS sin cabeza para crear historias dinámicas y atractivas, manteniendo al mismo tiempo los beneficios de rendimiento y escalabilidad de un sitio estático.Aprenderás sobre las ventajas y limitaciones de cada modo de renderizado y obtendrás una comprensión más profunda de cómo utilizar Jamstack para construir experiencias de narración poderosas y dinámicas.