Únete a mí en una discusión provocadora sobre Llevando Ideas Controversiales a React.js, donde exploraremos algunos de los temas más debatidos en el ecosistema de React. Esta charla profundiza en los conceptos de mutabilidad y observabilidad en React y los compara con frameworks como Solid.js y Svelte. También discutiremos el debate sobre actualizaciones granulares versus Reconciler y el potencial de un sistema de plugins para extender las aplicaciones de React, y el impacto que podría tener en la comunidad de React. Los asistentes obtendrán una comprensión más profunda de los desafíos y controversias de React en comparación con otros frameworks y cómo la comunidad los está abordando.
Llevando Ideas Controversiales a React
Video Summary and Transcription
Esta charla discute la implementación de ideas controvertidas en React, la construcción de una arquitectura de plugins y el uso de Redux sin el método Connect. Explora la implementación de plugins que inyectan funcionalidad en la interfaz de usuario y el uso de MobxStateTree. La charla también destaca los desafíos de conectar todo a Redux y los beneficios de implementar re-renderizados personalizados para un mejor rendimiento. Enfatiza la importancia de explorar nuevos territorios y abrazar ideas controvertidas para obtener nuevas perspectivas.
1. Building Plugin Architecture and Redux Usage
Hablaré sobre la introducción de ideas controvertidas en React, la construcción de una arquitectura de complementos y el uso de Redux sin el método Connect.
¡Hola a todos! Soy Sanket y trabajo en Geeky Ants. En estos días estoy construyendo un marco de trabajo de pila completa llamado GlueStack. Genial. Hoy quiero hablar sobre la introducción de ideas controvertidas en React, hablar sobre controversias y tienes que hablar sobre señales, ¿verdad? Luego tengo algunas otras cosas también, cómo construí una arquitectura de complementos y la usé en varios proyectos. Luego tengo Redux y cómo uso Redux sin React Redux y el método Connect para lograr un mejor rendimiento. Veamos la arquitectura de complementos. Si estás familiarizado con WordPress, es posible que hayas encontrado el increíble sistema de complementos que tiene WordPress, puedes instalar un complemento y obtener muchas características, ya sea algunos elementos visuales o alguna funcionalidad en tu aplicación. Me gustó y traté de construir algo así en React, y define más que solo funcionalidad, sino también algunos límites visuales como inyectar algo en el encabezado, pie de página o tal vez establecer alguna comunicación entre los complementos o las dependencias entre los complementos. Veamos qué exactamente tuve que construir. Aquí tienes un ejemplo. Puedes ver las dos pestañas en el lado izquierdo, la configuración y el perfil. Entonces, estos dos se logran como dos complementos diferentes.
2. Plugin Architecture and MobxStateTree
Los complementos de Configuración y Perfil van más allá de la parte visual. Inyectan funcionalidad en la interfaz de usuario, como la autorización. El Administrador de Complementos actúa como una tienda y permite la iteración de los complementos. La implementación de un complemento como Configuración implica funciones como getName y getSVGLogo. Este enfoque permite mejorar las aplicaciones de forma independiente de la aplicación principal.
El primero es el complemento de Configuración y el segundo es el complemento de Perfil. Esto va más allá de la parte visual. Inyecta estas dos cosas en la interfaz de usuario, pero también agrega muchas funcionalidades. Por ejemplo, el complemento de Perfil implementa una parte de la autorización, y otros complementos pueden usarlo para detectar si el usuario ha iniciado sesión o no. Estos son los dos complementos.
En la aplicación principal, puedo iterar sobre los complementos desde el Administrador de Complementos y renderizar cosas como Plugin.getSVGLogo, Plugin.getName. Entonces, a nivel más alto, el Administrador de Complementos es como una tienda. He utilizado MobxStateTree, que en sí mismo es un tema muy discutido. Sí, tiene complementos cargados y los complementos se almacenan en un array.
Si observamos una de las implementaciones de un complemento, por ejemplo, el complemento de Configuración. Tiene una carga de complemento. Por ejemplo, el complemento de Configuración implementa las funciones getName, getSVGLogo y simplemente funciona. Esto no es como micro frontends, porque aquí nos mantenemos en el contexto de la aplicación principal y estamos tratando de comunicarnos entre diferentes cosas. Esto va más allá de ser solo un almacenamiento de contenedores. Es un cambio en la mentalidad de cómo construyes aplicaciones, donde puedes mejorar las cosas de forma totalmente separada de tu aplicación principal.
3. Redux, Connect Method, and Signals
Utilicé Redux pero me di cuenta de que no necesito el método Connect. Después de eliminarlo, implementé mis propias re-renderizaciones para obtener un mejor rendimiento. Conectar todo a Redux fue un desafío debido al gran número de elementos. Reemplazamos los métodos Connect con un hook que solo re-renderizaba componentes específicos. Las señales y la observabilidad se han discutido en el contexto de MobX y los principios fundamentales de React. No te sientas cargado de idealismo, explora nuevos territorios y abraza ideas controvertidas para obtener nuevas perspectivas.