Querido cliente, te estoy dejando

Rate this content
Bookmark

Con los componentes del servidor de React y las nuevas capacidades de suspense SSR de React, tenemos un cambio de paradigma en el mundo de la representación del lado cliente/servidor. El péndulo que comenzó en páginas HTML simples, rápidamente se inclinó hacia la representación completamente del lado cliente, ahora está volviendo al lado del servidor. Los marcos emergentes como Next.js y Remix dan inicio a una nueva era de desarrollo web, en la que la representación del lado servidor es un ciudadano de primera clase. En esta charla profundizaremos en esas características de React, hablaremos sobre las prácticas más avanzadas en cuanto a la representación del servidor y tal vez vislumbremos el emocionante futuro de las relaciones de pila completa entre el front-end y el back-end.

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

FAQ

La renderización del lado del servidor es un paradigma donde el servidor se encarga de generar la estructura de marcado y enviarla al cliente, quien ejecuta la lógica de interacción. Esto permite que las páginas web se carguen más rápido, ya que el cliente recibe el contenido ya procesado desde el servidor.

Es importante debido a la necesidad de mejorar los tiempos de carga y la interactividad de las páginas web, especialmente con las crecientes expectativas de rendimiento y los estándares de SEO que requieren que el contenido sea accesible y rápido de indexar por los motores de búsqueda.

Resuelve problemas de velocidad de carga, optimización SEO y mejora la experiencia del usuario al entregar contenido pre-renderizado desde el servidor, lo que acelera la visualización en el cliente.

La tecnología de renderización ha evolucionado desde la renderización puramente en el servidor con tecnologías como PHP, hacia la renderización en el cliente con frameworks como React, y ahora de vuelta a enfoques modernos de renderización en el servidor para manejar aplicaciones más complejas y mejorar el rendimiento.

La hidratación es el proceso por el cual el cliente toma el marcado generado por el servidor y lo convierte en una página web dinámica e interactiva, usualmente añadiendo eventos y comportamientos con JavaScript. Es un paso crítico en técnicas como SSR (Server-Side Rendering) para hacer interactivo el contenido estático.

Los componentes de servidor en React permiten que ciertas partes de una aplicación se rendericen en el servidor sin enviar todo el código necesario al cliente. Esto reduce los tiempos de carga y la cantidad de datos transferidos, mejorando la eficiencia y el rendimiento de las aplicaciones web.

Next.js es una framework que facilita tanto la generación de sitios estáticos como la renderización del lado del servidor, ofreciendo funciones como getStaticProps y getServerSideProps. Esto permite construir aplicaciones optimizadas tanto en tiempo de compilación como en tiempo real, mejorando la escalabilidad y rendimiento.

El renderizado estático genera páginas en el momento de la compilación y es ideal para contenidos que no cambian frecuentemente, mientras que el renderizado dinámico genera páginas en tiempo real, lo que permite personalizar el contenido según las interacciones o solicitudes del usuario.

Liad Yosef
Liad Yosef
21 min
21 Jun, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Liad Yosef analiza la importancia y evolución de la representación del lado servidor, destacando sus beneficios como el rendimiento mejorado y el SEO. Explora diferentes estrategias de representación y los desafíos de la hidratación en React. Presenta SuspenseSSL en React 18 como una solución para obtener datos de forma anticipada e hidratar selectivamente componentes. También menciona React Server Component como un cambio revolucionario para reducir el tamaño del paquete en la representación con React.
Available in English: Dear Client, I'm Leaving You

1. Introducción a la Renderización del Lado del Servidor

Short description:

En esta parte, Liad Yosef se presenta a sí mismo y al tema de la charla, que es la renderización del lado del servidor. Menciona la importancia de discutir este tema y hace referencia a una cita de Abraham Lincoln. También menciona que la charla se centrará en la renderización del lado del servidor en React.

Hola. Hola a todos. Gracias por asistir a mi charla. Soy Liad Yosef. Mi charla se llama Querido Cliente, Te Dejo. Vamos a hablar un poco sobre la renderización del lado del servidor, la renderización del lado del servidor, y todo lo que hay en medio. Así que soy Liad Yosef. Soy el arquitecto principal de front-end en Douda. Soy un entusiasta de la web y en mi tiempo libre también soy un astronauta analógico. Tengo el privilegio de participar en misiones analógicas en todo el mundo, me gusta mucho el espacio. Así que con esto en mente, convertiremos nuestra charla en algo así como una charla en modo oscuro, y será temática espacial. Entonces podrías preguntarte, ¿por qué necesitamos hablar sobre la renderización del lado del servidor? Abraham Lincoln dijo una vez que si tuviera ocho horas para cortar un árbol, pasaría seis afilando mi hacha, y Rick Sanchez agregó que el universo es mucho más complicado de lo que piensas. Así que prepárate para una aventura de 20 minutos en la madriguera del conejo de la renderización del lado del servidor, ¿y cómo lo abordamos en React? Así que es hora de maratón, y todos sabemos que preferimos ver Netflix en lugar de ver

2. Understanding Server-Side Rendering

Short description:

En esta parte, Liad Yosef discute el concepto de renderización del lado del servidor y su evolución a lo largo del tiempo. Explica la diferencia entre la renderización clásica del servidor, la renderización cliente-servidor y la nueva renderización del lado del servidor. Liad destaca las razones para utilizar la renderización del lado del servidor, como el mejor rendimiento, una mejor optimización para motores de búsqueda y la solución de problemas con la renderización del lado del cliente. También menciona la importancia de considerar criterios de rendimiento como el cambio de diseño acumulativo y la carga de contenido significativo. Además, hace referencia a una charla de Rich Harris sobre el impacto de las aplicaciones de una sola página en la web.

charlas técnicas. No es como si estuviéramos viendo a Dan Abramov en Netflix. Así que enmarcaré mi charla un poco como Netflix. Hay muchos temas para discutir. Puedes elegir rendimiento o hooks o La Casa de Papel, una web tres o un juego de cuadrícula, pero me enfocaré en las paredes del servidor. Paredes del servidor, eso es algo que necesitamos aprender. Necesitamos entender para realmente comprender la relación cliente-servidor. Y comenzaremos con una pequeña historia básica sobre las paredes cliente-servidor. Entonces, cuando hablamos de la renderización clásica del servidor, ¿de qué estamos hablando? En la renderización clásica del servidor, el enfoque común hace unos 15 o 20 años, el servidor genera una estructura de marcado y el cliente ejecuta la lógica de interacción. Puedes pensar en PHP o JSP o cualquier otra cosa con la que estés familiarizado. Entonces, en la renderización clásica del servidor, el navegador solicita al servidor que ensamble la página. El servidor ensambla la página en el lado del servidor, enviando el marcado plano al cliente y el cliente obtiene el marcado. Esa es la renderización clásica del servidor. Y si quieren hacer que su marcado sea interactivo, simplemente le piden al servidor que envíe el hito, el JavaScript, para hacerlo útil. Esa es la renderización clásica del servidor. En la renderización cliente-servidor, ese es un paradigma con el que comenzamos a trabajar hace unos 10 años, el cliente se encarga de generar la estructura de marcado y la lógica de interacción, como en React. Entonces, el cliente solicita ensamblar la página y el servidor simplemente envía un contenedor vacío y luego es responsabilidad del cliente solicitar a React o al código JavaScript para renderizarlo ellos mismos. React renderiza el marcado y si hay algo más que el cliente desee, pueden solicitar al servidor otro código JavaScript para renderizar la parte faltante. Esa es la renderización del lado del cliente. En la nueva renderización del lado del servidor, que es el paradigma con el que comenzamos a trabajar hace unos dos o tres o cuatro años el servidor se encarga de generar la estructura de marcado y el cliente se encarga de ejecutar la lógica de interacción. Espera, ¿qué? Quiero decir, hemos vuelto al punto de partida desde el PHP de hace 20 años hasta la renderización del lado del servidor de hoy. Bueno, debes recordar que React es un lenguaje de plantillas. Por lo tanto, también puedes usarlo en el servidor para hacer plantillas. Puedes preguntarte por qué. ¿Cuál es la razón de hacer renderización del lado del servidor? Bueno, en el pasado, cuando teníamos velocidades de red lentas y dispositivos lentos, teníamos que hacer todo en el servidor, ¿verdad? Porque el cliente no era lo suficientemente fuerte o potente como para renderizar. A medida que los dispositivos se volvieron más potentes y los clientes querían aplicaciones más complejas, trasladamos la renderización al cliente. Pero ahora, a medida que las redes se vuelven realmente rápidas y se envía mucho código complejo al cliente y nuestros estándares de carga se han vuelto más altos, queremos que las cosas se carguen mucho más rápido, tenemos que volver a trasladar la renderización al servidor. Si hablamos de rendimiento, esos son dos criterios que Google verifica en sus Core Web Vitals. Luego, el cambio de diseño acumulativo verifica qué sucede cuando el cliente renderiza el marcado, pero algo aparece de repente porque el cliente lo está renderizando incrementalmente, y luego haces clic en algo que no querías hacer clic. O la carga de contenido significativo, ¿cuánto tiempo tarda el cliente en obtener los datos para renderizar algo, lo cual es un problema en el mundo de la renderización insuficiente del cliente. El SEO también es un problema, porque cuando Google intenta indexar nuestra página, accede al servidor, solicita la página y si el servidor devuelve solo un contenedor vacío, Google no sabe cómo indexar nuestra página. Hay una charla muy buena de Rich Harris llamada `Las aplicaciones de una sola página arruinaron la web` y en general hay una muy buena charla en la esfera de Twitter o en la web sobre aplicaciones de una sola página versus aplicaciones de varias páginas, donde algunas personas dicen que las aplicaciones de varias páginas no cumplen con las expectativas que queremos y otras personas dicen que las aplicaciones de una sola página, debido a su carga lenta, no ofrecen

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

Simplificando los Componentes del Servidor
React Advanced 2023React Advanced 2023
27 min
Simplificando los Componentes del Servidor
Top Content
React server components simplify server-side rendering and provide a mental model of components as pure functions. Using React as a library for server components allows for building a basic RSC server and connecting it to an SSR server. RSC responses are serialized virtual DOM that offload code from the client and handle interactivity. The client manifest maps serialized placeholders to real components on the client, enabling dynamic rendering. Server components combine the best of classic web development and progressive enhancement, offering the advantage of moving logic from the client to the server.
Explorando los fundamentos de los Componentes del Servidor React
React Day Berlin 2023React Day Berlin 2023
21 min
Explorando los fundamentos de los Componentes del Servidor React
Top Content
This Talk introduces React Server Components (RSC) and explores their serialization process. It compares RSC to traditional server-side rendering (SSR) and explains how RSC handles promises and integrates client components. The Talk also discusses the RSC manifest and deserialization process. The speaker then introduces the Waku framework, which supports bundling, server, routing, and SSR. The future plans for Waku include integration with client state management libraries.
Y Ahora Entiendes los Componentes del Servidor React
React Summit 2024React Summit 2024
27 min
Y Ahora Entiendes los Componentes del Servidor React
Top Content
In this Talk, Kent C. Dodds introduces React Server Components (RSCs) and demonstrates how to build them from scratch. He explains the process of integrating RSCs with the UI, switching to RSC and streaming for improved performance, and the benefits of using RSCs with async components. Dodds also discusses enhancements with streaming and server context, client support and loaders, server component rendering and module resolution, handling UI updates and rendering, handling back buttons and caching, and concludes with further resources for diving deeper into the topic.
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.
Componentes del Servidor: La Épica Historia de Renderizar UX
React Summit 2023React Summit 2023
26 min
Componentes del Servidor: La Épica Historia de Renderizar UX
Top Content
This Talk introduces server components in React, which provide an intermediate format for rendering and offer advantages for both client-side and server-side rendering. Server components reduce bundle size on the client and improve search engine optimization. They abstract the rendering process, allowing for faster rendering and flexibility in choosing where to render components. While server components are still in the experimental stage, Next.js is a good starting point to try them out.
RSCs en Producción: 1 Año Después
React Summit 2024React Summit 2024
24 min
RSCs en Producción: 1 Año Después
This Talk explores the experience of shipping server components in production and highlights the benefits and challenges of using Server Components in Next.js apps. The Talk discusses the deployment of UploadThing and the use of AppRouter for safe production usage. It delves into the implementation of different layouts, data fetching, and code centralization for improved performance. The Talk also covers the use of server components for performance optimization and latency handling. Additionally, it explores the use of Edge and Lambda for partial pre-rendering and the challenges faced with webpack performance and hydration. Overall, the Talk emphasizes the benefits and challenges of working with Server Components in Next.js applications.

Workshops on related topic

Desarrollando Blogs Dinámicos con SvelteKit & Storyblok: Una Masterclass Práctica
JSNation 2023JSNation 2023
174 min
Desarrollando Blogs Dinámicos con SvelteKit & Storyblok: Una Masterclass Práctica
Top Content
Featured WorkshopFree
Alba Silvente Fuentes
Roberto Butti
2 authors
Esta masterclass de SvelteKit explora la integración de servicios de terceros, como Storyblok, en un proyecto SvelteKit. Los participantes aprenderán cómo crear un proyecto SvelteKit, aprovechar los componentes de Svelte y conectarse a APIs externas. La masterclass cubre conceptos importantes incluyendo SSR, CSR, generación de sitios estáticos y despliegue de la aplicación usando adaptadores. Al final de la masterclass, los asistentes tendrán una sólida comprensión de la construcción de aplicaciones SvelteKit con integraciones de API y estarán preparados para el despliegue.
Dominando React Server Components y Server Actions en React 19
React Summit US 2024React Summit US 2024
150 min
Dominando React Server Components y Server Actions en React 19
Featured Workshop
Maurice de Beijer
Maurice de Beijer
¡Llamando a todos los desarrolladores de React! Únete a nosotros para una masterclass inmersiva de 4 horas profundizando en React Server Components y Server Actions. Descubre cómo estas tecnologías revolucionarias están transformando el desarrollo web y aprende a aprovechar todo su potencial para construir aplicaciones rápidas y eficientes.

Explora el mundo de React Server Components, combinando sin problemas el renderizado del lado del servidor con la interactividad del lado del cliente para un rendimiento y experiencia de usuario incomparables. Sumérgete en React Server Actions para ver cómo combinan la interactividad del lado del cliente con la lógica del lado del servidor, facilitando el desarrollo de aplicaciones interactivas sin las limitaciones tradicionales de las API.

Obtén experiencia práctica con ejercicios prácticos, ejemplos del mundo real y orientación experta sobre la implementación de estas tecnologías en tus proyectos. Aprende temas esenciales como las diferencias entre Server y Client Components, optimización de la obtención de datos, pasando datos de manera efectiva y maximizando el rendimiento con nuevos hooks de React como useActionState, useFormStatus y useOptimistic.

Ya sea que seas nuevo en React o un profesional experimentado, esta masterclass te equipará con el conocimiento y las herramientas para elevar tus habilidades de desarrollo web. Mantente a la vanguardia y domina la tecnología de vanguardia de React 19. No te lo pierdas: ¡regístrate ahora y desata todo el poder de React!
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
La Puerta al Backend: Guía del Desarrollador Frontend para el Desarrollo Full-Stack
React Summit US 2023React Summit US 2023
160 min
La Puerta al Backend: Guía del Desarrollador Frontend para el Desarrollo Full-Stack
Top Content
WorkshopFree
Amy Dutton
Amy Dutton
Esta masterclass te guiará a través del ciclo de vida del desarrollo de productos para crear una aplicación web del mundo real. Aprenderás sobre los Componentes del Servidor React, construyendo un sistema de diseño dentro de Storybook, y utilizando el desarrollo frontend para acercarte a convertirte en un desarrollador full-stack. La masterclass cubrirá el aumento de la confianza en tu aplicación con pruebas unitarias e implementando autenticación y autorización. Tendrás la oportunidad de trabajar a través de las características del producto y examinar un proyecto real de RedwoodJS, obteniendo valiosa experiencia en el desarrollo de productos del mundo real. RedwoodJS hace que sea simple acercarse al desarrollo full-stack, y esta masterclass te dará las habilidades que necesitas para crear tus propias aplicaciones web del mundo real.
Patrones Avanzados de Despliegue de Aplicaciones con Componentes de Servidor React (feat. un Marco RSC DIY)
React Summit US 2023React Summit US 2023
104 min
Patrones Avanzados de Despliegue de Aplicaciones con Componentes de Servidor React (feat. un Marco RSC DIY)
Top Content
WorkshopFree
 Greg Brimble
Greg Brimble
El ecosistema de desarrolladores siempre está avanzando rápidamente y este año no ha sido una excepción. Los Componentes de Servidor React pueden ofrecer una mejora significativa a la experiencia del desarrollador y al rendimiento de la aplicación. Pero creo que es justo decir que este nuevo paradigma de servidor primero puede ser complicado de entender!En la primera mitad de esta masterclass, exploraremos los Componentes de Servidor React desde cero: construyendo nuestro propio mini marco meta para ayudarnos a entender cómo funcionan los RSCs. Descubriremos exactamente qué se produce en una construcción RSC y conectaremos esas piezas para formar una aplicación completa.A continuación, ¡lo desplegaremos! Cloudflare también ha tenido un año ocupado — Smart Placement, en particular, es una nueva tecnología que hemos desarrollado que se ajusta perfectamente al modelo RSC. Exploraremos por qué eso tiene sentido para nuestra aplicación de masterclass, y realmente lo desplegaremos en la Plataforma de Desarrolladores de Cloudflare.Finalmente, ampliaremos un poco más nuestra aplicación, utilizando D1 (nuestra base de datos SQL sin servidor) para mostrar realmente el poder del Componente de Servidor React cuando se combina con Smart Placement.Deberías salir de esta masterclass con una mayor comprensión de cómo funcionan los Componentes de Servidor React (tanto detrás de las escenas como también cómo tú como desarrollador puedes usarlos día a día), así como una visión de algunos de los nuevos patrones de despliegue que ahora son posibles después de las recientes innovaciones en el espacio de la plataforma.
Construyendo Componentes de Servidor Reutilizables en NextJS
React Summit US 2023React Summit US 2023
88 min
Construyendo Componentes de Servidor Reutilizables en NextJS
Workshop
Will Bishop
Mettin Parzinski
2 authors
React continúa evolucionando su capacidad beta, los Componentes de Servidor de React, y continúan desarrollándolos en asociación con marcos como NextJS.En esta masterclass, los asistentes aprenderán qué son los Componentes de Servidor de React, cómo construirlos y usarlos eficazmente en NextJS, y se centrarán en una de las principales ventajas de React/NextJS: la reutilización a través de componentes.También cubriremos tecnologías beta relacionadas habilitadas por el directorio `app`, como los layouts anidados y las acciones del servidor (capacidad alfa/experimental).¡Únete a nosotros para esta masterclass práctica de 120 minutos!Tecnologías:
React, JavaScript/Typescript, NextJS, Miro