Entonces, cuando tienes enrutamiento local, tienes algo así. Dentro del micro-front-end, si estás usando React Router, tengo un ejemplo que compartiré más tarde, puedes hacer algo así. Simplemente delegas, básicamente, para manejar furniture slash table y tengo un cliente, por ejemplo, hay un e-commerce aquí en el Reino Unido, que el primer micro-front-end que desplegaron junto a su sistema existente fue la categoría espejo de su e-commerce. El resto del e-commerce era monolito. Luego, lenta pero constantemente, cuando aprendieron algunas cosas, tuvieron que retroceder un par de veces porque cometieron algunos errores, pero luego, lenta pero constantemente, comenzaron a desplegar todos los diferentes micro-front-ends, uno tras otro. Aumentaron esto, digamos, espejo uno con no sé, muebles y otras cosas, y lenta pero constantemente, crearon y desplegaron sus micro-front-ends. Esta es una gran estrategia para vender incluso a tu gestión que no necesitas 18, 24 meses de desarrollo oscuro o desarrollo en modo sigiloso para construir un sistema completo. Construyes un micro-front-end, una ruta, iteras sobre eso, y creces con eso. Mientras tanto, que estás haciendo este trabajo de extremo a extremo, aprenderás mucho porque te ves obligado a pasar por todo el proceso desde la ideación, construcción, creación de la observabilidad, registro, despliegue, etc. Súper importante.
Pero también, cuando estás construyendo micro-front-ends, es una parte que muy a menudo se estropea por la gente. Si miras los diferentes ejemplos de single SPA, multi-federation, etc., la mayoría de las veces la gente está escribiendo en los ejemplos todos los diferentes micro-front-ends y remotos para cargar dentro de la configuración de Webpack o RSPack o lo que sea. Eso es un problema. No está listo para producción porque todos aquí están usando un enfoque de multi-entorno Cuando trabajas con un enfoque de multi-entorno, podrías tener entornos efímeros a veces si tienes suerte y no tienes solo tres configuraciones específicas. Incluso si tienes tres configuraciones específicas, es doloroso si, digamos, escribes dentro de la configuración de Webpack antes de que puedas aprovechar el enrutamiento dinámico. ¿Qué significa? Hace cuatro años, creé un grupo de trabajo. Era yo, era Zach Jackson, el creador de multi-federation, era Joel Danning, el creador de single SPA, y luego estaba Mateo Figues, que es el creador de Open Components. Estos tres frameworks son los frameworks más usados en todo el mundo para construir micro-front-ends. Dije, escuchen chicos, necesitamos encontrar una solución para resolver el problema del despliegue y enrutamiento porque tiene que ser algo agnóstico que podamos usar en cada framework. El framework que tenemos hoy, pero el framework que también tendremos mañana. Antes de que llegáramos a este esquema que se hizo disponible en GitHub públicamente. Este esquema básicamente es un esquema de descubrimiento, como lo llamamos, que nos permite tener un montón de información relacionada con los micro-front-ends. Porque es JSON, puede ser generado donde quieras. Puedes tener tu CI, CD, la tarea final que básicamente está generando este esquema o almacenando en una base de datos, donde quieras. Pero lo genial es que un application shell puede cargar esto y directamente desde este esquema generar el enrutamiento dinámico. Así que, puede que un usuario en, digamos, una aplicación específica, tal vez un usuario no necesite cargar el catálogo porque no tiene el permiso y otro sí, pero puedes implementar fácilmente este JSON con un enrutador directo. Así que, simplemente tomas este JSON, lo analizas, recuperas la información que necesitas, y luego generas las rutas dinámicamente. La belleza de eso, si estás usando, en este caso, Moji Federation, lo que puedes hacer es cuando tienes, digamos, un cambio de páginas, puedes cargar de manera diferida aprovechando la API avanzada de Moji Federation sin escribir todo dentro de la configuración para cargar dependencias comunes, así como cargar un micro-front-end específico. Muy simple.
Comments