Hola a todos. Soy Taz Singh y aquí está Marc Delgliche, y tuve el placer de charlar con él en Australia donde se tomó esta foto justo después de que él dijo, espera, estás usando React Native en la web. ¿Por qué en el mundo harías eso? Y así, si no conoces a Marc, él es el creador de CSS modules, vanilla extract, y más recientemente ha trabajado en React Native design systems en Rainbow. Hoy, está haciendo un trabajo increíble en el equipo de Remix en Shopify, y esta es la respuesta que le di en aquel entonces.
Dije, bueno, Marc, esta es la razón. Guild es la plataforma para comunidades, y las comunidades están en todas partes. Existen en todas formas y tamaños, y necesitamos construir una aplicación que también esté en todas partes y pueda existir en cualquier forma y tamaño en que estas comunidades se presenten en todas las diferentes plataformas en las que nuestros usuarios están hoy. Y así, hoy en día cuando estás construyendo una aplicación moderna, necesitas atender tanto a móviles como a escritorios de todos modos. Así que, mirando las métricas de uso de Guild, el 51% de nuestros usuarios están en dispositivos móviles, y el 49% están en escritorio. Esto tiene sentido porque las personas interactúan con nuestra plataforma en movimiento, están buscando eventos para asistir y presentaciones para ver, y todo eso sucede, ya sabes, principalmente en un dispositivo móvil.
Además de eso, somos una startup en etapa temprana con un equipo pequeño. Necesitamos que cada miembro de nuestro equipo sea lo más eficaz posible al enviar código. Cada cambio en nuestro código debe tener el mayor impacto posible. Sin embargo, si tuviéramos que enviar código a cada plataforma, también tendríamos que soportar y probar todas ellas. Así que tendríamos que probar contra cada navegador web, tendríamos que probar cada sistema operativo móvil, y es la misma historia en el escritorio también. Necesitaríamos un montón de dispositivos físicos para probar todo esto, desde dispositivos Android de gama baja hasta cajas Linux hasta básicamente todo lo que hay. Puedes imaginar además soportar múltiples idiomas, por ejemplo, inglés y español, donde el número de elementos a probar y soportar empezaría a aumentar exponencialmente, y simplemente se volvería inviable para un equipo pequeño como el nuestro. Por eso hoy nos estamos enfocando en la plataforma web en el idioma inglés en este momento. Solo para soportar, mantener el soporte manejable para nuestro pequeño equipo.
Y eso es porque la forma en que lo veo funcionar es un poco así, donde esta es la web plataforma para la que estamos construyendo hoy. Una vez que introduzcamos las aplicaciones de iOS y Android, podemos ver que se ve un poco más así, donde tal vez hay un área común en el medio, y a medida que continuamos añadiendo más plataformas como MacOS, Windows, y aplicaciones nativas de Linux, puedes ver el diagrama pareciendo un poco más así. Y para mí, aquí es realmente donde el poder de aprovechar React resulta útil. Donde veo a React como el superconjunto de todas estas plataformas, y React Native puede encapsular la lógica y la orquestación para que todas ellas trabajen juntas. Así que centrémonos en React, ¿de acuerdo? ¿Qué quiero decir con eso? Bueno, digamos que tengo una aplicación en React que se ve así. Renderiza algún componente, ¿verdad? Tal vez empieces a pasar algunos data a ese componente, y obtienes algunos data de ese componente. Ese es el contrato que le importa a tu aplicación. Ese componente subyacente podría estar haciendo cualquier cosa. Ese componente subyacente podría estar usando React Native. Podría estar usando una vista de React Native y renderizando a un elemento de texto de React Native. Ese componente subyacente podría estar usando elementos HTML, de una manera que te resulte familiar si estás usando React DOM hoy en la web.
Comments