React Más Allá del DOM

Bookmark
Rate this content

Es fácil olvidar lo que los creadores de React sabían desde el principio: que React no es solo para construir páginas web. La mayoría de nosotros hemos oído hablar de React Native, que renderiza a componentes móviles nativos, pero React no tiene que renderizar a "componentes" en absoluto. Existe React PDF para generar PDFs e Ink para construir interfaces de usuario en el terminal.

En mi empresa, hemos desarrollado una forma para que los desarrolladores usen React para construir plugins para nuestra aplicación web que se renderizan en nuestros componentes personalizados, dándonos control total sobre el diseño de la interfaz de usuario (el "cómo"), mientras que el desarrollador del plugin tiene control total sobre la experiencia de usuario (el "qué").

En mi charla, explicaré cómo es construir un renderizador y reconciliador de React, qué son y cómo usarlos.

Me gustaría hacer una demostración en vivo mostrando cómo React se puede usar para convertir html a markdown. Y luego me gustaría demostrar cómo React puede renderizar al Mundo Real, controlando dispositivos IoT.

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

Erik Rasmussen
Erik Rasmussen
27 min
28 Nov, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
El orador discutió las capacidades de React más allá del DOM, incluyendo la instalación de paquetes clave, construcción de componentes de UI, gestión de estado y reconciliación. La naturaleza agnóstica de la plataforma de React, su compatibilidad con varios renderizadores, el uso del DOM virtual y el algoritmo de diferencias. Capacidades de renderizado diversas de React, como React DOM, React Native, React 3 Fiber, React Native Web, React PDF e Ink. Exploración del renderizado a dispositivos IoT usando XState, transiciones de estado en semáforos y construcción de un ecosistema de desarrolladores seguro con React en Atio. Aliento a los desarrolladores para explorar renderizados de UI innovadores, opciones de renderizado personalizadas y renderizados personalizados favoritos como 3-Fiber. Perspectivas sobre la implementación de React, interacción con DevTools y discusión sobre atajos de Vim en VS Code.
Available in English: React Beyond the DOM

1. Understanding React Capabilities

Short description:

El orador discute las capacidades de React más allá del DOM, la instalación de paquetes clave, características principales como la construcción de componentes de UI, gestión de estado y reconciliación. La naturaleza independiente de la plataforma de React, compatibilidad con varios renderizadores, React DOM para renderizado específico de la web, uso de DOM virtual y algoritmo de diferencias para actualizaciones eficientes.

Así que, gracias por invitarme en el día más sagrado del año, Black Friday. Mi nombre es Eric Rasmussen, y hoy voy a hablarles sobre pensar en lo que React puede hacer más allá del DOM. Así que cuando comenzamos como desarrolladores de React, al menos desde 2005, cuando empezaste un proyecto de React para la web, tienes que instalar estos dos paquetes en tu package JSON.

Pero la mayoría de los desarrolladores de React, al menos cuando están comenzando, probablemente no entienden por qué necesitamos ambas importaciones, porque en realidad hacen varias cosas bastante diferentes. Así que React es la biblioteca principal que proporciona la API fundamental para construir componentes de UI, y tiene la lógica de los componentes. Gestiona el estado del componente y los métodos de ciclo de vida y hooks, y también tiene un algoritmo de reconciliación que determina cómo se deben aplicar las actualizaciones a la UI, como qué partes volver a renderizar.

Y aunque no lo creas, es totalmente independiente de la plataforma. Puede ser utilizado con muchos renders diferentes, React DOM para la web, quizás hayas oído hablar de React Native para móviles, y también maneja JSX, convierte el JSX en funciones de JavaScript, pero no dicta cómo se renderizan. React DOM, por otro lado, es un renderizador específico para la web. Renderiza componentes de React al DOM del navegador real. Y lo hace usando un DOM virtual, donde en realidad renderiza al DOM en memoria primero, porque eso es mucho más rápido, y luego utiliza un algoritmo de diferencias para decidir cómo cambiar el DOM real.

2. React Rendering Capabilities

Short description:

Discusión sobre las diversas capacidades de renderizado de React, incluyendo React DOM, React Native, React 3 Fiber, React Native Web, React PDF e Ink para interfaces de terminal. Resumen del concepto de renderizar HTML a Markdown para práctica y aprendizaje. Explicación de términos clave como reconciler, host environment, host component, host config, instance y container en el proceso de renderizado de React.

Y eso es bastante lento. Así que en realidad hace toda la actualización, montaje y desmontaje de los elementos en el navegador. Y cuando React salió por primera vez, fue realmente útil que normalizara todos los eventos del navegador, porque aquellos de nosotros que hemos estado haciendo web durante mucho tiempo podríamos recordar cuando los navegadores te daban eventos de formas diferentes, y tenías que estar verificando en qué navegador estabas. Así que eso es muy bueno. Y también gestiona el renderizado del lado del servidor. Así que no solo puede renderizar al DOM, sino que puede renderizar a una cadena en el servidor, por lo que el navegador piensa que solo está descargando un archivo HTML, y luego rehidrata en el navegador, lo que significa conectar todos los listeners de eventos. Y otras cosas como portales, de las que no vamos a hablar. Quiero que te vayas de mi charla hoy con esto: una vez que eres un desarrollador de React, y asumo que la mayoría de nosotros aquí lo somos, una vez que conoces esta parte, en realidad es un superpoder para hacer muchas más cosas que solo hacer páginas web.

Entonces, ¿qué tipo de renders de React existen? Bueno, está React DOM, y luego tenemos React Native que no está renderizando a una vista web, sino a componentes nativos reales en móviles. Y luego hubo una cosa llamada React 360, pero Meta lo ha deprecado, pero claramente todavía les importa el 3D, pero era genial en su momento. Está React 3 Fiber para renderizar a 3JS. Está React Native Web, que te permite renderizar componentes de React Native al DOM, lo cual podría parecer una locura, pero la aplicación web de Twitter fue construida usando eso. Y uno de mis favoritos, React PDF. No sé sobre la estructura interna de un PDF, pero he usado React PDF para generar facturas y etiquetas y cosas a lo largo de mi carrera, lo cual es bastante genial. Y luego hay uno llamado Ink, que te permite construir interfaces de línea de comandos de terminal realmente bonitas usando React. Y de nuevo, no sé cómo hacer nada de eso, pero he usado Ink, y es bastante fácil. Y tal vez algo que puedas idear. Así que hablando de idear renders, para aprender más sobre esto y prepararme para esta charla, pensé en qué puedo construir que tome algo que sea JSX y lo renderice a algo que sepa si está bien o no. Y se me ocurrió la cosa más inútil posible, renderizar HTML a Markdown. Nadie quiere ir en esa dirección. No tiene sentido, pero fue bueno para practicar y aprender. Así que mi HTML a Markdown toma algo que se ve así, y lo renderiza a Markdown, que supongo que la mayoría de ustedes puede leer. Así que antes de entrar en cómo construí esto, necesitamos repasar algunos términos para poder entender. El reconciler es el motor central de React que determina cómo actualizar la UI en respuesta a cambios en el estado o las props. El host environment es la plataforma a la que estás renderizando, como DOM o Canvas o Terminal. Un host component se refiere a los elementos específicos de la plataforma, como un div para el DOM o un rect en Canvas. El host config es este objeto que le das al reconciler de React para describir cómo debería interactuar con el entorno objetivo. Una instance es un objeto que representa un elemento de UI en tu entorno, como un elemento HTML en el DOM. Container es la raíz de todo tu árbol renderizado, y React se renderiza en dos fases. Está la fase de actualización, donde el reconciler recorre tu árbol JSX y mira todos tus estados y determina qué necesita volver a renderizar.

QnA

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

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Entendiendo la Arquitectura Fiber de React
React Advanced 2022React Advanced 2022
29 min
Entendiendo la Arquitectura Fiber de React
Top Content
This Talk explores React's internal jargon, specifically fiber, which is an internal unit of work for rendering and committing. Fibers facilitate efficient updates to elements and play a crucial role in the reconciliation process. The work loop, complete work, and commit phase are essential steps in the rendering process. Understanding React's internals can help with optimizing code and pull request reviews. React 18 introduces the work loop sync and async functions for concurrent features and prioritization. Fiber brings benefits like async rendering and the ability to discard work-in-progress trees, improving user experience.
Thinking Like an Architect
Node Congress 2025Node Congress 2025
31 min
Thinking Like an Architect
Top Content
In modern software development, architecture is more than just selecting the right tech stack; it involves decision-making, trade-offs, and considering the context of the business and organization. Understanding the problem space and focusing on users' needs are essential. Architectural flexibility is key, adapting the level of granularity and choosing between different approaches. Holistic thinking, long-term vision, and domain understanding are crucial for making better decisions. Effective communication, inclusion, and documentation are core skills for architects. Democratizing communication, prioritizing value, and embracing adaptive architectures are key to success.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
Elevando el Listón: Nuestro Viaje Haciendo de React Native una Opción Preferida
React Advanced 2023React Advanced 2023
29 min
Elevando el Listón: Nuestro Viaje Haciendo de React Native una Opción Preferida
This Talk discusses Rack Native at Microsoft and the efforts to improve code integration, developer experience, and leadership goals. The goal is to extend Rack Native to any app, utilize web code, and increase developer velocity. Implementing web APIs for React Native is being explored, as well as collaboration with Meta. The ultimate aim is to make web code into universal code and enable developers to write code once and have it work on all platforms.
Menos desorden, más poder: Aprovecha el poder de la plataforma web
C3 Dev Festival 2024C3 Dev Festival 2024
30 min
Menos desorden, más poder: Aprovecha el poder de la plataforma web
This talk focuses on the powerful features of CSS and HTML that can level up developer skills and enhance web UI. Scroll-driven animations, popover API, and anchor positioning are explored as ways to create dynamic effects, improve performance, and increase accessibility. The talk also emphasizes the benefits of building presentations with CSS and HTML, separating logic from styling, and leveraging core platform features. Wishlist features for the web platform and the challenges of pushing updates across browsers are discussed.

Workshops on related topic

Presentando FlashList: Construyamos juntos una lista performante en React Native
React Advanced 2022React Advanced 2022
81 min
Presentando FlashList: Construyamos juntos una lista performante en React Native
Top Content
Featured Workshop
David Cortés Fulla
Marek Fořt
Talha Naqvi
3 authors
En esta masterclass aprenderás por qué creamos FlashList en Shopify y cómo puedes usarlo en tu código hoy. Te mostraremos cómo tomar una lista que no es performante en FlatList y hacerla performante usando FlashList con mínimo esfuerzo. Usaremos herramientas como Flipper, nuestro propio código de benchmarking, y te enseñaremos cómo la API de FlashList puede cubrir casos de uso más complejos y aún así mantener un rendimiento de primera categoría.Sabrás:- Breve presentación sobre qué es FlashList, por qué lo construimos, etc.- Migrando de FlatList a FlashList- Enseñando cómo escribir una lista performante- Utilizando las herramientas proporcionadas por la biblioteca FlashList (principalmente el hook useBenchmark)- Usando los plugins de Flipper (gráfico de llamas, nuestro perfilador de listas, perfilador de UI & JS FPS, etc.)- Optimizando el rendimiento de FlashList utilizando props más avanzados como `getType`- 5-6 tareas de muestra donde descubriremos y solucionaremos problemas juntos- Preguntas y respuestas con el equipo de Shopify
IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
React Summit 2022React Summit 2022
117 min
Detox 101: Cómo escribir pruebas de extremo a extremo estables para su aplicación React Native
Top Content
Workshop
Yevheniia Hlovatska
Yevheniia Hlovatska
A diferencia de las pruebas unitarias, las pruebas de extremo a extremo buscan interactuar con su aplicación tal como lo haría un usuario real. Y como todos sabemos, puede ser bastante desafiante. Especialmente cuando hablamos de aplicaciones móviles.
Las pruebas dependen de muchas condiciones y se consideran lentas e inestables. Por otro lado, las pruebas de extremo a extremo pueden dar la mayor confianza de que su aplicación está funcionando. Y si se hace correctamente, puede convertirse en una herramienta increíble para aumentar la velocidad del desarrollador.
Detox es un marco de pruebas de extremo a extremo en caja gris para aplicaciones móviles. Desarrollado por Wix para resolver el problema de la lentitud e inestabilidad y utilizado por React Native en sí como su herramienta de pruebas E2E.
Únete a mí en esta masterclass para aprender cómo hacer que tus pruebas de extremo a extremo móviles con Detox sean excelentes.
Prerrequisitos- iOS/Android: MacOS Catalina o más reciente- Solo Android: Linux- Instalar antes de la masterclass
Cómo construir una animación interactiva de “Rueda de la Fortuna” con React Native
React Summit Remote Edition 2021React Summit Remote Edition 2021
60 min
Cómo construir una animación interactiva de “Rueda de la Fortuna” con React Native
Top Content
Workshop
Oli Bates
Oli Bates
- Introducción - Cleo & nuestra misión- Lo que queremos construir, cómo encaja en nuestro producto & propósito, revisar los diseños- Comenzando con la configuración del entorno & “hola mundo”- Introducción a la animación de React Native- Paso 1: Hacer girar la rueda al presionar un botón- Paso 2: Arrastrar la rueda para darle velocidad- Paso 3: Agregar fricción a la rueda para frenarla- Paso 4 (extra): Agregar hápticos para una sensación inmersiva
Deploying React Native Apps in the Cloud
React Summit 2023React Summit 2023
88 min
Deploying React Native Apps in the Cloud
Top Content
WorkshopFree
Cecelia Martinez
Cecelia Martinez
Desplegar aplicaciones de React Native manualmente en una máquina local puede ser complejo. Las diferencias entre Android e iOS requieren que los desarrolladores utilicen herramientas y procesos específicos para cada plataforma, incluidos los requisitos de hardware para iOS. Los despliegues manuales también dificultan la gestión de credenciales de firma, configuraciones de entorno, seguimiento de lanzamientos y la colaboración en equipo.
Appflow es la plataforma de DevOps móvil en la nube creada por Ionic. Usar un servicio como Appflow para construir aplicaciones de React Native no solo proporciona acceso a potentes recursos informáticos, sino que también puede simplificar el proceso de despliegue al proporcionar un entorno centralizado para gestionar y distribuir tu aplicación a múltiples plataformas. Esto puede ahorrar tiempo y recursos, permitir la colaboración, así como mejorar la fiabilidad y escalabilidad general de una aplicación.
En esta masterclass, desplegarás una aplicación de React Native para su entrega a dispositivos de prueba Android e iOS utilizando Appflow. También aprenderás los pasos para publicar en Google Play y Apple App Stores. No se requiere experiencia previa en el despliegue de aplicaciones nativas, y obtendrás una comprensión más profunda del proceso de despliegue móvil y las mejores prácticas sobre cómo usar una plataforma de DevOps móvil en la nube para enviar rápidamente a escala.