Construyendo Sitios Web Ultrarrápidos con Next.js y Sanity.io

Rate this content
Bookmark

Ú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.

This workshop has been presented at React Summit 2023, check out the latest edition of this React Conference.

FAQ

Next.js es una herramienta para desarrolladores que permite la creación de sitios web y aplicaciones web mediante React. Se utiliza porque es excelente para la generación de sitios estáticos y el renderizado del lado del servidor, lo cual contribuye a mejorar el rendimiento y la eficiencia de las aplicaciones web.

Un CMS sin cabeza es un sistema de gestión de contenido que separa la capa de contenido de la capa de presentación. A diferencia de los CMS tradicionales, donde la edición y presentación ocurren en la misma plataforma, un CMS sin cabeza proporciona los datos mediante una API, lo que permite usar cualquier herramienta de frontend para la presentación.

Las ventajas de usar una arquitectura sin cabeza incluyen independencia del marco de desarrollo, alta personalización, optimización para SEO, mejor rendimiento y la capacidad de utilizar el mismo contenido en diferentes canales digitales, como aplicaciones móviles y realidad virtual.

Sanity es un CMS sin cabeza que permite la manipulación y recuperación de contenido a través de su API. Ofrece funcionalidades como vista previa integrada para ver cambios en tiempo real antes de la publicación y es fácilmente integrable con herramientas de desarrollo como Next.js.

Next.js se integra bien con Vercel, especialmente porque Vercel es de la misma empresa matriz. Vercel proporciona herramientas de monitoreo de rendimiento y es eficiente para desplegar aplicaciones de Next.js, permitiendo implementaciones rápidas y sencillas con optimización continua del rendimiento.

Storybook es un entorno de desarrollo interactivo que permite a los desarrolladores crear y probar componentes de React de manera aislada. Facilita la visualización y configuración de componentes en diferentes estados sin necesidad de integrarlos en la aplicación principal, acelerando así el proceso de desarrollo.

Nancy Du
Nancy Du
Nataliya Ioffe
Nataliya Ioffe
71 min
25 May, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Este masterclass cubre la construcción de sitios web ultrarrápidos con Next.js y Sanity. Explora los beneficios de la arquitectura sin cabeza y las herramientas de CMS como Sanity. El masterclass guía a los participantes a través de la configuración del repositorio, el trabajo con Sanity y Next.js, y la implementación en producción en Vercel. Se explica la modelización de contenido en CMS sin cabeza y la creación de esquemas en Sanity. El masterclass también cubre el uso de Grok para consultar contenido, conectar contenido con Next.js y desplegar en producción con Vercel.
Available in English: Building with Sanity and Next.js

1. Introducción al Masterclass

Short description:

Esto es Construyendo Sitios Web Ultrarrápidos con Next.js y Sanity. Natalia Iaffe, una desarrolladora de software en RangleIO, se especializa en desarrollo front-end y tiene experiencia con arquitectura sin cabeza y CMS como Sanity y Contentful. Nancy, directora asociada de estrategia digital en Rangle, también es desarrolladora con experiencia en proyectos de CMS sin cabeza. El masterclass cubrirá las plataformas utilizadas, la configuración del repositorio, el trabajo con Sanity y Next.js, y la implementación en producción en Vercel. El sitio web que se está construyendo es para una organización ficticia llamada Pangea, enfocada en la jardinería.

Así que bienvenidos a todos. Esto es Construyendo Sitios Web Ultrarrápidos con Next.js y Sanity. Um, así que empecemos. Solo una pequeña introducción. Mi nombre es Natalia Iaffe. Soy una desarrolladora de software en RangleIO. Me especializo principalmente en el front-end. Y, uh, la mayor parte de mi trabajo ha sido colaborando con organizaciones para actualizar nuestras pilas técnicas a react y muchos proyectos trabajando, um, con arquitectura sin cabeza y, um, capacidad de edición de contenido con CMS como Sanity, Contentful, etc. Um, sí. Nancy. Sí. Hola a todos. Mi nombre es Nancy. Um, también trabajo en Rangle junto con Natalia. Soy directora asociada de estrategia digital. Um, pero en realidad soy solo una desarrolladora de profesión. He estado trabajando mucho en proyectos de CMS sin cabeza en el último año, año y medio. Um, mucho trabajo con Sanity y Contentful. Así que estoy muy emocionada de estar aquí hoy para compartir muchos de nuestros aprendizajes, um, con todos ustedes sobre cómo implementamos proyectos de CMS sin cabeza.

Sí. Entonces, espero que todos estén viendo mi pantalla. Um, avísenme si hay algún problema con el zoom, pero seguiré adelante y hablaré sobre, uh, una pequeña descripción general de lo que vamos a hacer hoy. Um, porque hay bastante. Um, primero hablaremos sobre qué estamos construyendo. Um, tienen el enlace que hemos enviado en el chat para echar un vistazo ahora mismo. Um, vamos a hablar de las plataformas que estamos utilizando: sanity, next, sell, um, así como storybook, um, y hablar un poco sobre arquitectura sin cabeza y por qué usarla. Um, vamos a configurar el repositorio. Así que habrá una pequeña pausa, uh, un descanso para ir al baño, lo que sea, si ya han configurado su repositorio, um, y les daremos los scripts para que puedan comenzar. Um, luego nos sumergiremos en sanity. Nos adentraremos en las partes que, um, uh, necesitan entender para trabajar con sanity. Um, y luego tendremos una pequeña pausa para configurar porque necesitarán una cuenta de sanity y todas esas cosas. Um, así que tendremos un poco de tiempo para configurar eso y luego haremos algunas actividades en grupos pequeños basadas en lo que hemos hablado, y Nancy y yo iremos entrando y saliendo de los grupos pequeños. Um, así que eso debería ser divertido. Um, luego hablaremos de next JS, que creo que algunos de ustedes ya tienen algo de experiencia, otros no. Hablaremos un poco de eso, el constructor de sitios, cómo impulsa nuestra aplicación. Y también haremos una pequeña actividad en grupos pequeños para, um, renderizar algunos de los componentes que tenemos en este repositorio en la página con Next. Y luego, finalmente, vamos a implementar en producción en Vercel. Um, también haremos actividades en grupos pequeños allí. Um, y luego espero que tengan una aplicación completa y funcional, um, un sitio web que puedan personalizar, um, a su gusto más tarde. Eso es lo que vamos a hacer. Y, um, tenemos algunos tiempos guiados aquí. Um, pero si las personas van más rápido o más lento, um, trabajaremos. Veremos cómo va. Um, así que hablemos de lo que estamos construyendo. Entonces, um, para confirmar a todos, Nancy, ¿mi pantalla se deslizó correctamente? Ok, genial. Entonces, um, todos deberían tener este enlace, pero, uh, este es el sitio web real que estamos construyendo. Esta es una organización ficticia llamada Pangea, um, para todas sus necesidades de jardinería. Um, así que estamos simplemente reflejando

2. Introducción a la Arquitectura Sin Cabeza y las Herramientas

Short description:

Este sitio web ofrece varios servicios y proporciona todas las herramientas para crear una aplicación completa. La arquitectura sin cabeza separa la capa de presentación de la capa de contenido, lo que permite un desarrollo independiente del marco y personalización. Las herramientas de CMS sin cabeza están optimizadas para SEO y rendimiento, y la separación de datos y visualización permite reutilizar el contenido en diferentes canales. La plataforma de CMS, como Sanity, gestiona el contenido, mientras que el constructor de sitios, como Next.js, combina el contenido con componentes de React para crear una aplicación rápida. Sanity es un CMS sin cabeza basado en API con funcionalidad de vista previa nativa, y Next.js es excelente para la generación de sitios estáticos y el renderizado en el lado del servidor.

un sitio web de una organización. Este sitio web ofrece varios servicios. Um, así que al final de este masterclass, tendrán todas las herramientas para crear esta aplicación completa. Um, la otra parte de esto es la experiencia real de autoría del CMS de Sanity, que se ve un poco así. Nos adentraremos más en esto más adelante. Um, pero esta es la experiencia de autoría que construiremos. También tengo algunas capturas de pantalla y diapositivas para ustedes, solo como referencia más adelante.

Pero adentrémonos en qué es la arquitectura sin cabeza. Um, si han trabajado con Contentful antes, es posible que sepan un poco sobre esto, pero si no, um, sin cabeza con arquitectura sin cabeza, um, bueno, es posible que hayan oído hablar de varios CMS como, uh, um, WordPress o, um, Squarespace, que son lo que llamamos como `con cabeza`, donde en la plataforma misma, construyes y creas componentes, um, así como editas contenido en la misma plataforma. A menudo tienen características que están vinculadas a esa plataforma y que debes usar con la arquitectura sin cabeza, que es más o menos con lo que vamos a trabajar. Esa capa visual de presentación está completamente separada de la capa de contenido, lo que significa que los datos, como los diferentes encabezados que deseas usar para varios componentes, cosas así, están completamente separados. Um, y los datos se sirven, um, a su sitio a través de una API desde el CMS. Entonces, en lugar de tener todo en una plataforma, está separado y simplemente conectado con una API. Así que hay dos partes en eso. Um, tenemos el CMS, um, donde gestionas tus datos, um, todo tu contenido, imágenes, todo eso. Um, algo como Sanity, que estamos usando hoy, o Contentful, como algunos de ustedes pueden tener experiencia con Contentful. Y luego tenemos una segunda parte, que es un constructor de sitios, en nuestro caso, incluye el uso de Next.js, pero puedes usar algo como Gatsby, si tienes experiencia con eso, um, una biblioteca de componentes y plantillas de página. Um, por lo que el constructor de sitios combinará tu contenido de tu CMS, um, con tus componentes de React, uh, en una aplicación Next.js realmente rápida. Um, por lo tanto, hay algunos beneficios de ir sin cabeza, um, en lugar de tener todo en una plataforma. En primer lugar, especialmente para nosotros, los desarrolladores, nos encanta que sea independiente del marco. Por lo tanto, puedes construir la capa de presentación o visual utilizando cualquier herramienta de tu elección. Entonces, si prefieres React, usa React, si prefieres Angular, usa Angular, Vue, etc. Por lo tanto, puedes construir todos tus componentes en el lenguaje que conoces o que conoce tu equipo de desarrollo. Um, es muy personalizable, puedes incorporar tus propios componentes, no estás limitado a lo que una plataforma específica, como WordPress o cualquier otra, te exige y puedes incorporar muchas bibliotecas de terceros para muchas características diferentes. Um, las herramientas de CMS sin cabeza están optimizadas para SEO y rendimiento. Um, y como la aplicación que estamos construyendo hoy, generalmente se aprovecha de la generación de sitios estáticos, lo que hace que la aplicación sea súper rápida. Um, y uno de los mayores beneficios también es que, um, dado que tus datos están completamente separados de la visualización, puedes utilizar el mismo contenido en diferentes tipos de canales y puntos de contacto digitales, como aplicaciones móviles, um, realidad virtual en el futuro, um, y simplemente aplicaciones web y sitios web. Um, porque todo se sirve a través de una API desde tu, um, desde tu CMS. Por lo tanto, esos son algunos beneficios realmente importantes de ir sin cabeza, um, solo rápidamente, a veces soy una persona muy visual. Entonces, visualizar cómo se ve este proceso es útil para mí. Entonces, en nuestro caso, yendo desde la izquierda, pueden ver nuestro círculo del CMS sin cabeza allí, los autores de Sanity, los editores de contenido, los especialistas en marketing ingresarán su contenido en esa plataforma de CMS y la interfaz del editor. Y luego esa API, um, la API del CMS envía esa información, um, como JSON a nuestro constructor de sitios. En nuestro caso, nuevamente, estamos usando Next.js. Entonces, el constructor de sitios recibe esos datos y, um, los combina con tu biblioteca de componentes para construir el front-end y luego empaqueta ese código, uh, y lo envía a tu plataforma de distribución. En nuestro caso, vamos a usar Vercel. Um, y al final, como sabemos, cuando implementamos, um, tu navegador solo ve el hermoso HTML con su JS y tu, um, aplicación realmente genial que construiste. Y luego, acercándonos un poco más, um, al flujo de trabajo del CMS sin cabeza comenzando desde la izquierda. Um, y veremos esto en práctica y también lo haremos en salas de grupos pequeños, pero un autor usará la interfaz del editor, um, para crear contenido, publicar contenido. Y nuevamente, todo ese contenido se envía a través de la API o se recupera de la API como JSON a Next. Por lo tanto, estos pequeños gráficos informativos pueden ser útiles en el futuro para echar un vistazo, ya que visualmente son un poco más útiles, al menos para mí. Um, por lo que podemos pasar directamente a las plataformas y herramientas que hemos mencionado. Um, primero hablaré de Sanity, que, um, algunos de ustedes mencionaron que no han usado antes, es un CMS sin cabeza basado en API. Um, puedes usar las API para manipular, como recuperar y manipular contenido. Um, y en nuestro caso, usaremos, um, React para renderizar todo nuestro contenido en hermosos componentes. Y luego, en Sanity, algo que realmente nos encanta es que tiene una funcionalidad de vista previa nativa para que un especialista en marketing o alguien que ingrese al CMS pueda ver el cambio que está haciendo antes de publicarlo. Um, y es muy fácil trabajar con Sanity con Next.js. Esta es solo una pequeña página de inicio de Sanity. Definitivamente puedes explorar si quieres. Um, Next.js, um, es lo que estamos usando para nuestro constructor de sitios. Um, es excelente para la generación de sitios estáticos, um, servidor

Watch more workshops on topic

AI para Desarrolladores de React
React Advanced 2024React Advanced 2024
142 min
AI para Desarrolladores de React
Featured Workshop
Eve Porcello
Eve Porcello
El conocimiento de las herramientas de AI es fundamental para preparar el futuro de las carreras de los desarrolladores de React, y la suite de herramientas de AI de Vercel es una vía de acceso accesible. En este curso, examinaremos más de cerca el Vercel AI SDK y cómo esto puede ayudar a los desarrolladores de React a construir interfaces de transmisión con JavaScript y Next.js. También incorporaremos APIs de terceros adicionales para construir y desplegar una aplicación de visualización de música.
Temas:- Creación de un Proyecto de React con Next.js- Elección de un LLM- Personalización de Interfaces de Transmisión- Construcción de Rutas- Creación y Generación de Componentes - Uso de Hooks (useChat, useCompletion, useActions, etc)
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
Fetch, useEffect, React Query, SWR, ¿qué más?
React Advanced 2023React Advanced 2023
102 min
Fetch, useEffect, React Query, SWR, ¿qué más?
Top Content
WorkshopFree
Ondrej Polesny
Ondrej Polesny
En esta masterclass, primero, repasaremos las diferentes formas en que puedes consumir APIs en React. Luego, probaremos cada una obteniendo contenido de un CMS sin cabeza (tanto con REST como con GraphQL) y verificando en detalle cómo funcionan.
Aunque no se requiere un conocimiento avanzado de React, esta será una sesión práctica, por lo que necesitarás clonar un repositorio de GitHub preconfigurado y utilizar tu editor de programación React preferido, como VS Code.
Aprenderás:- Qué diversas opciones de obtención de datos hay en React- Cuáles son las ventajas y desventajas de cada una- Cuáles son los casos de uso típicos y cuándo cada estrategia es más beneficiosa que otras
Crea un sitio web editable visualmente con Next.js utilizando React Bricks, con blog y comercio electrónico
React Summit 2023React Summit 2023
139 min
Crea un sitio web editable visualmente con Next.js utilizando React Bricks, con blog y comercio electrónico
Top Content
WorkshopFree
Matteo Frana
Matteo Frana
- React Bricks: por qué lo construimos, qué es y cómo funciona- Crea una cuenta gratuita- Crea un nuevo proyecto con Next.js y Tailwind- Explora la estructura del directorio- Anatomía de un Brick- Crea un nuevo Brick (Texto-Imagen)- Añade un título y descripción con edición visual RichText- Añade una imagen con edición visual- Añade controles de barra lateral para editar props (relleno y lado de la imagen)- Anidación de Bricks utilizando el componente Repeater- Crea un brick de galería de imágenes- Publica en Netlify o Vercel- Tipos de página y campos personalizados- Acceso a los valores meta de la página- Internacionalización- Cómo reutilizar contenido en varias páginas: Historias y incrustaciones- Cómo crear un comercio electrónico con datos de productos de una base de datos externa y páginas de aterrizaje creadas visualmente en React Bricks- Características empresariales avanzadas: permisos flexibles, estructura bloqueada, componentes visuales personalizados
De Todo App a B2B SaaS con Next.js y Clerk
React Summit US 2023React Summit US 2023
153 min
De Todo App a B2B SaaS con Next.js y Clerk
WorkshopFree
Dev Agrawal
Dev Agrawal
Si eres como yo, probablemente tengas un millón de ideas para proyectos secundarios, algunas de las cuales incluso podrían hacerte ganar dinero como un micro SaaS, o podrían resultar ser la próxima startup de mil millones de dólares. Pero, ¿cómo sabes cuáles? ¿Cómo pasas de una idea a un producto funcional que puede ser puesto en manos de clientes que pagan sin renunciar a tu trabajo e invirtiendo todo tu tiempo y dinero en ello? ¿Cómo pueden competir tus proyectos secundarios en solitario con las aplicaciones construidas por enormes equipos y grandes empresas?
Construir productos SaaS ricos viene con desafíos técnicos como infraestructura, escalabilidad, disponibilidad, seguridad y subsistemas complicados como autenticación y pagos. Por eso, a menudo son los gigantes tecnológicos ya establecidos quienes pueden construir y operar productos de este tipo de manera razonable. Sin embargo, una nueva generación de devtools está permitiendo a los desarrolladores construir fácilmente soluciones completas que aprovechan la mejor infraestructura en la nube disponible, y ofrecen una experiencia que te permite iterar rápidamente en tus ideas por un bajo costo de $0. Se llevan todos los desafíos técnicos de construir y operar productos de software para que solo tengas que pasar tu tiempo construyendo las características que tus usuarios quieren, dándote una oportunidad razonable de competir contra el mercado al mantenerte increíblemente ágil y receptivo a las necesidades de los usuarios.
En esta masterclass de 3 horas comenzarás con una simple aplicación de gestión de tareas construida con React y Next.js y la convertirás en un producto SaaS completamente funcional y escalable integrando una base de datos escalable (PlanetScale), autenticación multi-tenant (Clerk), y pagos basados en suscripción (Stripe). También aprenderás cómo los principios del desarrollo de software ágil y el diseño impulsado por el dominio pueden ayudarte a construir productos rápidamente y de manera rentable, y competir con las soluciones existentes.

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
Routing in React 18 brings a native app-like user experience and allows applications to transition between different environments. React Router and Next.js have different approaches to routing, with React Router using component-based routing and Next.js using file system-based routing. React server components provide the primitives to address the disadvantages of multipage applications while maintaining the same user experience. Improving navigation and routing in React involves including loading UI, pre-rendering parts of the screen, and using server components for more performant experiences. Next.js and Remix are moving towards a converging solution by combining component-based routing with file system routing.
Una Guía Práctica para Migrar a Componentes de Servidor
React Advanced 2023React Advanced 2023
28 min
Una Guía Práctica para Migrar a Componentes de Servidor
Top Content
React query version five is live and we'll be discussing the migration process to server components using Next.js and React Query. The process involves planning, preparing, and setting up server components, migrating pages, adding layouts, and moving components to the server. We'll also explore the benefits of server components such as reducing JavaScript shipping, enabling powerful caching, and leveraging the features of the app router. Additionally, we'll cover topics like handling authentication, rendering in server components, and the impact on server load and costs.
El Nuevo Enrutador de Aplicaciones de Next.js
React Summit 2023React Summit 2023
27 min
El Nuevo Enrutador de Aplicaciones de Next.js
Top Content
Today's Talk is about the Next.js App Router, which has evolved over the years and is now a core feature of Next.js. The Talk covers topics such as adding components, fetching remote data, and exploring layouts. It also discusses submitting form data, simplifying code, and reusing components. The App Router allows for coexistence with the existing pages router and enables data fetching at the layout level using React Server Components.
No sabes cómo hacer SSR
DevOps.js Conf 2024DevOps.js Conf 2024
23 min
No sabes cómo hacer SSR
The Talk covers the speaker's personal journey into server-side rendering (SSR) and the evolution of web development frameworks. It explores the use of jQuery for animations in SSR, the challenges faced in integrating React with Umbraco, and the creation of a custom SSR framework. The Talk also discusses the benefits of Next.js and the use of serverless artifacts for deployment. Finally, it highlights the features of Astro, including its function per route capability.
Cómo manejar correctamente los cambios de URL slug en Next.js
TypeScript Congress 2022TypeScript Congress 2022
10 min
Cómo manejar correctamente los cambios de URL slug en Next.js
Top Content
This Talk explains how to handle URL slug changes in Next.js by using the getStaticPaths and getStaticProps methods. It covers implementing redirects and provides a solution to eliminate the need for editors to perform additional steps. The approach involves tracking URL slug changes and issuing proper redirects. The speaker encourages the audience to reach out with any questions or experiences with handling URL slugs.
Eliminando BFFs con GraphQL y Next.js
React Advanced 2021React Advanced 2021
21 min
Eliminando BFFs con GraphQL y Next.js
Top Content
This talk discusses the challenges and benefits of using Backend for Frontends (BFFs) and microservices in software development. It highlights how Next.js can simplify the creation of BFFs and unify the gateway for microservices. The talk also emphasizes the advantages of Next.js API routes in simplifying the development, deployment, and maintenance of APIs. It showcases the implementation of a BFF using Next.js and API routes, and the extension of API routes in an executable way. The speaker also mentions launching a course on using Next.js API routes for building a serverless GraphQL API.