Pero de lo que quiero hablar hoy es un poco sobre cómo realmente abordamos las actualizaciones del SDK para introducir estos cambios. Así que realmente nos propusimos algunos principios de diseño sobre cómo introducir esto. Así que realmente queríamos asegurarnos de que estamos optimizando para la flexibilidad en torno a los casos de uso. Así que pensando en los clientes que están usando estos componentes preconstruidos listos para usar, pero también personas que vienen y construyen componentes personalizados sobre lo que estamos proporcionando, hasta Shocker para esta sala, personas que están usando otros marcos de Vue que no son React. Y tal vez necesiten vincularse y hacer algo dentro de Vue o Svelte o algo más así.
Y también queríamos asegurarnos de que todo sea súper personalizable. Así que si estás usando nuestros componentes listos para usar tal como vienen, puedes sobrescribir todo el estilo y traer tu propio tipo de sistema de diseño y conjunto de estilos a ello. Y luego, por último, queríamos este tipo de curva de aprendizaje baja, para hacerlo realmente fácil para las personas comenzar con los componentes que proporcionamos. Así que es la mínima cantidad de cambios dentro de tu base de código para comenzar a funcionar con estos componentes preconstruidos listos para usar.
Así que aquí hay un poco sobre cómo abordamos nuestro diseño. Así que esta diapositiva no es una pila, pero si te imaginas un poco más como una pila, esto tiene más sentido. En la parte inferior, tenemos nuestro SDK de bajo nivel, que es nuestro SDK de cliente. Ese es un envoltorio de bajo nivel que realmente expone clases de JavaScript simples y luego gestiona toda la lógica de negocio asociada con la mensajería en la aplicación. ¿Cuándo debería mostrarse ese mensaje? ¿A quién debería mostrarse? Marcarlo como leído, cosas así. Eso está respaldado por una tienda que realmente usamos TANstack Store para, lo cual es fantástico porque nos da esta capacidad de plataforma cruzada de Vue para vincularnos a estas actualizaciones de estado. Realmente, realmente genial.
Luego, a continuación, realmente exponemos un conjunto de hooks que hacen uso de ese cliente de bajo nivel. Eso es lo que nuestras bibliotecas de React pueden consumir. Esos hooks hacen que todo sea agradablemente reactificado, lo que facilita mucho la vinculación a esa tienda de estado para que puedas recibir estas actualizaciones. Luego, finalmente, en la parte superior de la pila hay un conjunto de componentes listos para usar que proporcionamos. Esos están construidos sobre Radex UI, las primitivas que proporciona. Asegúrate de que tengamos un buen conjunto de componentes accesibles desde el principio. Luego, también entregamos estos tipos de componentes inteligentes y tontos. El componente inteligente se vincula a nuestros hooks, proporciona toda la funcionalidad. Estos componentes tontos son más de la capa de vista donde las personas pueden entrar y tal vez quieras usar nuestro modal, pero quieres sobrescribir la forma en que funciona el botón o algún otro aspecto del modal, y puedes hacerlo. Luego, todo dentro de aquí, puedes realmente actualizar las variables CSS o las clases pueden ser sobrescritas. Es realmente fácil adaptarlo a cualquier estilo que tengas dentro de tu producto.
Genial. Aquí hay un pequeño vistazo a cómo se ven nuestros componentes preconstruidos de React. Proporcionamos un banner, un modal, una tarjeta, este feed de notificaciones también.
Comments