La Era de React Universal: ¿Cuál es el Truco?

Rate this content
Bookmark

Web y Mobile se están acercando cada vez más en el ecosistema de React. Con el lanzamiento de Expo Router y React Strict DOM en el último año, el mensaje es claro: Web y mobile ya no pueden separarse. El React Core Team y la comunidad han estado trabajando silenciosamente en este proyecto, y ha habido RFCs para llevar las APIs Web a Native, y hacer que el bucle de eventos de RN sea más cercano a la web. Esto es genial para los desarrolladores: de repente, los desarrolladores de React pueden "aprender una vez, escribir una vez y ejecutar en cualquier lugar", y pueden dirigirse a web, iOS y Android (e incluso más) desde una única base de código. Podrías estar pensando: ¿es esto solo un sueño imposible, y la realidad estará a la altura de la expectativa de "escribir una vez" para cada plataforma? En esta charla, compartiremos nuestras experiencias del mundo real construyendo aplicaciones universales de React desde una única base de código. Veremos las bibliotecas y herramientas, cubriremos algunos de los desafíos del mundo real, y compartiremos contigo una <List /> de lo que puedes y no puedes compartir a través de diferentes plataformas.

This talk has been presented at React Day Berlin 2024, check out the latest edition of this React Conference.

Mo Khazali
Mo Khazali
Anisha Malde
Anisha Malde
30 min
13 Dec, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Vamos a hablar sobre la era de React universal, el próximo cambio de paradigma de React. React universal es multiplataforma y sigue el principio de aprender una vez, escribir una vez y ejecutar en cualquier lugar. React Native nació como una forma declarativa de construir aplicaciones para iOS y Android. Los componentes y APIs de React Native se implementan de manera interoperable con React DOM, impulsando gran parte de la plataforma web de Twitter. El intercambio de código en una aplicación universal de React maximiza la reutilización de código, reduce la duplicación y permite la optimización de la plataforma. React Native for Web es la capa de compatibilidad que permite el desarrollo universal, manejando las traducciones entre React Native y React Dom. Expo es el marco de elección para React Native, con Expo Router V3 completando la historia universal. Desafíos para lograr la paridad con React Native Core debido a implementaciones específicas de la plataforma. React Strict DOM prioriza la web, llevando las APIs web a React Native. Adoptar un enfoque universal de React puede mejorar el rendimiento en todas las plataformas. React Native Web y React Strict DOM priorizan el rendimiento y la accesibilidad.

1. Introduction to Universal React

Short description:

Vamos a hablar sobre la era de React universal, el próximo cambio de paradigma de React. Mo y yo nos conocimos en conferencias y decidimos unir esfuerzos. Comencé como desarrollador web y me pasé a React Native. Ahora soy defensor de desarrolladores de React Native en Amazon App Store, y React universal nos ayuda a navegar por el mundo fragmentado de dispositivos.

Amigos, muchas gracias por venir aquí. Ambos estamos increíblemente emocionados de estar con ustedes. Vamos a hablar sobre la era de React universal, que creemos que es este próximo cambio de paradigma de React. Y estamos increíblemente emocionados de hablar sobre ello. Vamos a ver lo bueno, lo malo, lo feo, y con suerte un poco hacia el futuro.

Como mencionó Antonio, mi nombre es Mo. Dirijo el equipo móvil en Theodo. Siempre me ha encantado construir aplicaciones. Construí mi primera aplicación cuando tenía 13 años. Así que comencé con iOS nativo, me pasé al mundo web con React, y luego volví a nativo con React Native. Así que creo que React universal encapsula todas las cosas que he hecho en mi viaje y estoy súper emocionado por ello.

Sí, así que Mo y yo nos conocimos en las muchas conferencias a las que hemos asistido y hablado durante los últimos años. Y nos dimos cuenta de que ambos estábamos hablando de temas muy adyacentes. Mo estaba hablando sobre compartir código entre React y React Native. Yo estaba hablando sobre construir para múltiples dispositivos. Y entonces decidimos, unamos esfuerzos y hablemos sobre React universal. A diferencia de Mo, no sé qué estaba haciendo cuando tenía 13 años, probablemente jugando, no sé, Pokémon o algo así. Pero comencé como desarrollador web hace ocho años y era un desarrollador de React. Y luego me pasé a React Native. Y actualmente soy defensor de desarrolladores de React Native en Amazon App Store, que es la tienda de aplicaciones que funciona en nuestros dispositivos. Así que los tipos de aplicaciones con las que trabajo funcionan en teléfonos, tabletas, automóviles, web, TV. Y React universal me ayuda a mí y a nuestros desarrolladores a navegar por ese mundo fragmentado de todos los dispositivos que tenemos que apuntar.

2. Exploring Universal React

Short description:

React Universal es multiplataforma y sigue el principio de aprender una vez, escribir una vez y ejecutar en cualquier lugar. Igual a las condiciones para equipos pequeños y desarrolladores independientes. BlueSky es un ejemplo de un pequeño equipo enfrentándose a grandes competidores usando React Universal. Comienza con una única base de código y proporciona experiencias verdaderamente nativas para cada plataforma. Este enfoque permite a los desarrolladores web usar tecnologías familiares sin aprender nuevas y ahorra costos al dirigirse a múltiples plataformas con una sola base de código.

Entonces, la primera pregunta en la mente de todos debe ser, ¿qué es React Universal? Entonces, React Universal son aplicaciones multiplataforma de React y React Native. En mi opinión, lo que significa es un principio de aprender una vez, escribir una vez y ejecutar en cualquier lugar. Y esa es mi respuesta. Pero hace un mes en React Native London, Mo nos hizo esa pregunta a un panel. Así que quiero devolvértela, Mo. ¿Qué significa para ti? Porque para mí, es aprender una vez, escribir una vez, ejecutar en cualquier lugar. Pero, ¿y para ti?

Voy a tomar un enfoque ligeramente diferente a esto, porque quiero hablar sobre lo que esto nos da el potencial de tener. Creo que el poder de las aplicaciones universales es que iguala las condiciones para equipos pequeños y desarrolladores independientes para realmente enfrentarse a los grandes gigantes existentes que están en la industria. Un ejemplo principal de esto es BlueSky. ¿Cuántos de ustedes han oído hablar de BlueSky recientemente? Exactamente, ¿verdad? Entonces, BlueSky es un pequeño equipo de cuatro o cinco desarrolladores que están enfrentándose a X, Twitter, como sea que se llame estos días, y están enfrentándose a algunas de las personas más ricas del mundo para construir su propia red social, lo cual creo que es increíblemente poderoso. Y realmente, la columna vertebral de esto es React Universal, lo cual es realmente genial. Y así, en su núcleo, comienza con una única base de código. Usas una base de código para dirigirte a múltiples plataformas, ya sea web, móvil, TV, AR, VR. Realmente, el mundo es tu ostra. Y utiliza React y los principios web con los que todos estamos familiarizados y los pone en tecnologías nativas. Pero lo hace de una manera que no compromete la naturaleza nativa de cada una de esas plataformas. Así que estas no son algún tipo de aplicaciones de vista web de mala calidad a las que estás acostumbrado que realmente no se sienten como una aplicación nativa. Son experiencias verdaderamente nativas para cada una de las plataformas a las que te diriges. Y lo que esto significa en principio es que tú, como probablemente un grupo de desarrolladores web principalmente, puedes usar esa tecnología web familiar, JavaScript, CSS styling, mi favorito storybook, para el desarrollo de aplicaciones, desarrollo de TV, desarrollo de VR, sin tener que aprender nuevas tecnologías y lenguajes. Y el beneficio adicional de esto es que te ayuda a dirigirte a esa compleja fragmentación del paisaje de dispositivos. No necesitas un equipo por plataforma o por dispositivo. Y esto te ayuda a ahorrar costos en reconstruir lo mismo múltiples veces, lo que significa más dinero para el desarrollo de características, para mejorar el producto real, y realmente para mantener felices a tus PMs.

Entonces, Mo, dijiste que desarrollaste aplicaciones desde que tenías 13 años. ¿Fue eso hace 10, 20, 30 años? ¿Por qué no nos das un poco de una lección de historia? Mira, sé que estoy perdiendo el cabello y todo, pero no tienes que hacerme sentir como un abuelo calvo. Pensé que deberías colorearlo. Está bien. De acuerdo. Eso es lo mío. Desafortunadamente, el color no se aplica a la calvicie, pero aquí estamos. Así que lección de historia.

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.
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.
Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
React Summit 2022React Summit 2022
17 min
Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
Top Content
Today's Talk discusses building flexible, resilient, and future-proof React components using composition and configuration approaches. The composition approach allows for flexibility without excessive conditional logic by using multiple components and passing props. The context API can be used for variant styling, allowing for appropriate styling and class specification. Adding variants and icons is made easy by consuming the variant context. The composition and configuration approaches can be combined for the best of both worlds.
Patrones de Arquitectura Remix
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Patrones de Arquitectura Remix
Top Content
This Talk introduces the Remix architecture patterns for web applications, with over 50% of participants using Remix professionally. The migration from single page applications to Remix involves step-by-step refactoring and offers flexibility in deployment options. Scalability can be achieved by distributing the database layer and implementing application caching. The backend for frontend pattern simplifies data fetching, and Remix provides real-time capabilities for collaborative features through WebSocket servers and Server-SendEvents.

Workshops on related topic

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