Pautas de uso para microfrontends
Hay cuatro tecnologías diferentes para incrustar un microfrontend. Cada una de ellas es más adecuada para un caso específico:
- Microfrontend SDK de Jutro
- Componente
MicroFrontendcon uso compartido de contexto, conocido como modo compartido (en el pasado, modo de federación de módulos). - Componente
MicroFrontendcon aislamiento de contexto, conocido como modo aislado (en el pasado, modo iframe). - iframe estándar
shared tanto para la aplicación shell como para el microfrontend. Sin embargo, tenga en cuenta que esta solución se basa en el componente MicroFrontend de React, lo que puede limitar su compatibilidad con algunas aplicaciones shell:-
Para las aplicaciones shell heredadas de Jutro (por ejemplo, EnterpriseEngage), utilice el componente
MicroFrontenden modo compartido con precaución. Como alternativa, utilice el componenteMicroFrontenden modo aislado. -
Para las aplicaciones shell nuevas y heredadas que no sean de Jutro (por ejemplo, portal personalizado), el uso de este componente
MicroFrontendno es una opción viable. Como alternativa, utilice el SDK de microfrontend de Jutro, que solo permite la incrustación de iframes.
Para un rendimiento óptimo, la aplicación shell debe administrar la autenticación a través de Guidewire Hub. En las aplicaciones shell de Jutro (tanto nuevas como heredadas), esta configuración es la predeterminada, lo que permite que los tokens de autenticación se transfieran sin problemas a microfrontends. Sin embargo, para las aplicaciones shell que no sean de Jutro (tanto nuevas como heredadas), si no pueden integrarse con Guidewire Hub para obtener tokens de autenticación, es posible que deba implementar soluciones temporales, lo que podría conducir a experiencias de usuario de menor calidad que las óptimas.
Microfrontend SDK de Jutro
El Microfrontend SDK de Jutro se basa en el iframe HTML estándar. En los casos en los que se requiera aislamiento de contexto entre los microfrontends de Jutro y las aplicaciones shell que no sean de Jutro, el Microfrontend SDK ofrece una mejor solución.
El Microfrontend SDK de Jutro aborda las limitaciones de los iframes nativos. Permite a los desarrolladores interactuar con el microfrontend, pasar propiedades y habilitar varias integraciones mediante la API. Este método proporciona una forma más segura de integrar aplicaciones diseñadas y desarrolladas de forma independiente. Además, es el único método, junto con el iframe estándar, para incrustar el microfrontend de Jutro en portales de terceros cuando los usuarios no tienen acceso al paquete @jutro/micro-frontends ni a todo el ecosistema Jutro.
Utilice el iframe de Microfrontend SDK de Jutro para incrustar aplicaciones web recién creadas en JDP en portales digitales existentes. Este método garantiza una integración más confiable y menos propensa a errores entre los microfrontends de Jutro y las aplicaciones shell. Esto se aplica tanto a las aplicaciones shell nuevas como a las heredadas en las que los desarrolladores tienen acceso al código de la aplicación shell. Sin embargo, tenga en cuenta que la falta de comunicación entre módulos y de uso compartido del contexto puede perjudicar la experiencia general del usuario.
Componente MicroFrontend con uso compartido del contexto (modo compartido)
Utilizar el modo compartido con el componente MicroFrontend permite que el microfrontend utilice la tecnología de federación de módulos, la que facilita el uso compartido del contexto entre los microfrontends de Jutro y las aplicaciones shell. Este método es adecuado para casos en los que la experiencia final se diseña como una unidad cohesiva desde el principio, antes de dividirla en partes más pequeñas que se pueden implementar de forma independiente. Se basa en la federación de módulos para compartir código y recursos, lo que requiere colaboración y establecimiento de contratos entre equipos de desarrollo independientes para garantizar una integración perfecta sin interferencias involuntarias.
La federación de módulos es una tecnología moderna y eficiente que ayuda a reducir los tiempos de carga y a mejorar el rendimiento. También simplifica la comunicación y el intercambio de datos entre diferentes partes de la aplicación a través de interfaces compartidas. Este método es especialmente adecuado para las aplicaciones shell nuevas en las que los desarrolladores tienen acceso al código de la aplicación shell. La federación de módulos es una opción adecuada para los clientes que pretenden crear una nueva experiencia digital desde cero utilizando JDP, en particular, cuando desean mantener secciones específicas de la aplicación web independientes desde el principio.
Para las aplicaciones de shell heredadas, aunque la federación de módulos sigue siendo una opción, se recomienda incrustar aplicaciones de Jutro heredadas y no heredadas como microfrontends en EnterpriseEngage mediante iframes. Los iframes proporcionan un método sencillo, eficaz y seguro para incrustar entre sí aplicaciones diseñadas de forma independiente, manteniendo límites claros. Si surgen dificultades en la implementación de este caso de uso, considere la posibilidad de usar el Microfrontend SDK de Jutro como alternativa.
Componente MicroFrontend con aislamiento de contexto (modo aislado)
El componente MicroFrontend en modo aislado es la tecnología recomendada para entornos de aislamiento de contexto. Este componente proporciona todas las integraciones entre el microfrontend incrustado y la aplicación shell de forma predeterminada.
Este método se recomienda tanto para aplicaciones shell nuevas como a las heredadas en las que los desarrolladores tienen acceso al código de la aplicación shell. Esta recomendación está limitada por la compatibilidad cruzada de versiones de Jutro, ya que tanto la aplicación shell como el microfrontend incrustado deben ser de la versión 8.13.x o superior de Jutro.
iframe estándar
Esta tecnología no es proporcionada por JDP, por ello, carece de integraciones específicas entre las aplicaciones shell y los microfrontends. Se basa únicamente en las características nativas de los iframes HTML. Esta opción se recomienda cuando no es posible incrustar código proporcionado por Jutro en una aplicación shell.
Tanto para las aplicaciones shell nuevas y heredadas en las que los desarrolladores no pueden escribir JavaScript en la aplicación shell (por ejemplo, soluciones de interfaz de usuario empaquetadas con extensiones HTML), se recomienda la etiqueta HTML estándar <iframe> con la propiedad src que apunta a la URL del microfrontend de Jutro. Además, para escenarios que implican microfrontends que no sean de Jutro, es adecuada la etiqueta HTML estándar <iframe> con la propiedad src que apunta a la URL del microfrontend que no es de Jutro. Para incrustar microfrontends que no sean de Jutro, la federación de módulos estándar con Webpack 5 incrusta de manera efectiva el microfrontend que no es de Jutro en aplicaciones shell nuevas y heredadas, en las que los desarrolladores tienen acceso al código de la aplicación shell.
Consulte también
- Para usar microfrontends en situaciones más complejas, consulte la sección sobre exposición e incrustación con el SDK de microfrontend.
- Para incrustar microfrontends en aplicaciones de Jutro mediante el uso compartido del contexto, conocido como modo compartido, consulte la página Exposición e incrustación del componente MicroFrontend con uso compartido de contexto.
- Para incrustar microfrontends en aplicaciones de Jutro mediante el aislamiento del contexto, conocido como modo aislado, consulte la página Exposición e incrustación del componente MicroFrontend con aislamiento de contexto.
- Para usar microfrontends cuando no puede utilizar el componente
MicroFrontendde Jutro, consulte la página Exposición e incrustación con iframe estándar. - Para obtener una explicación detallada sobre todas las propiedades, consulte la página de referencia de la API.
- Para obtener más información acerca de cómo los microfrontends administran los estilos y otros aspectos sobre el uso, consulte la página sobre aspectos que deben tenerse en cuenta sobre el uso de microfrontends.