Introducción a los microfrontends
Un microfrontend es una aplicación web pequeña e independiente que proporciona una funcionalidad focalizada o un flujo de usuario único (por ejemplo, encontrar una cotización o presentar un siniestro). Los microfrontends están diseñados para exponerse e incrustarse en una aplicación shell, de modo que su interfaz de usuario y comportamiento se puedan reutilizar en experiencias más amplias.
Los microfrontends permiten a los equipos desarrollar, implementar y mantener partes específicas de una experiencia web de forma independiente. Entre los usos comunes se incluyen la compatibilidad con flujos de trabajo de desarrollo independientes, la provisión de un iniciador de aplicaciones pequeñas y la habilitación de microfrontends anidados en los que una aplicación incrustada sirve de shell para otras.
Objetivo
En este tutorial lo guiaremos a través de la configuración y el uso del componente MicroFrontend en modo compartido. Para obtener más información sobre el componente MicroFrontend en modo compartido, consulte la documentación sobre este tema.
En este tutorial, aprenderá a hacer lo siguiente:
- Exponer una aplicación de Jutro como microfrontend.
- Configurar una aplicación shell para que consuma microfrontends.
- Incrustar el microfrontend en una aplicación shell mediante el componente
MicroFrontend.
Requisitos
Antes de instalar y utilizar el componente MicroFrontend, asegúrese de cumplir con los siguientes requisitos:
- Debe haber leído la página de información general sobre microfrontends y la página sobre descripción general de los microfrontends, a fin de comprender las tecnologías disponibles y los casos de uso para microfrontends en Jutro Digital Platform.
- Debe tener una aplicación existente que desee convertir en microfrontend; Como alternativa, puede descargar la aplicación de ejemplo incluida.
- Debe tener una aplicación shell existente en la que desee incrustar el microfrontend. Como alternativa, puede descargar y usar la plantilla independiente de inicio.
Tutorial
1. Descargar la aplicación de espacio aislado de Jutro (opcional)
Si no tiene una aplicación existente para convertirla en un microfrontend, puede usar la aplicación de muestra proporcionada. Se trata de una aplicación de espacio aislado que se puede utilizar como microfrontend en este tutorial.
Descarga de la aplicación de espacio aislado de Jutro
2. Descargar la plantilla independiente de inicio (opcional)
Si no cuenta con una aplicación shell en la que incrustar el microfrontend, puede usar la plantilla independiente de inicio. Esta plantilla es una aplicación básica de Jutro que se puede usar como una aplicación shell en este tutorial.
- Inicie sesión en Guidewire Home y vaya a Jutro Web Apps.
- Seleccione Crear una nueva aplicación de Jutro.
- En el campo Nombre de la aplicación, escriba un nombre para su aplicación.
- Para el tipo de aplicación, seleccione Aplicación independiente.
- En el menú desplegable Plantilla de aplicación, seleccione Independiente de inicio.
- Seleccione el sistema principal en el que desea crear su aplicación.
- Seleccione el planeta destino de InsuranceSuite.
- Seleccione Crear aplicación.
- Después de crear la aplicación, seleccione Código fuente en la parte superior de la página y descargue el código fuente de la aplicación en su máquina local.
3. Configurar el repositorio necesario en su configuración de npm
Hay tres instancias regionales del repositorio binario de Guidewire donde se almacenan los paquetes npm necesarios para las aplicaciones de Jutro:
- AMER: https://amer.binrepo.guidewire.net/
- EMEA: https://emea.binrepo.guidewire.net/
- APAC: https://apac.binrepo.guidewire.net/
Si está utilizando una aplicación de Jutro existente, de forma predeterminada ya apunta a la instancia que coincide con el entorno de Guidewire Home en el que se creó. Sin embargo, si utiliza la aplicación de muestra, debe establecer el repositorio en su configuración de npm para instalar los paquetes necesarios.
Durante los pasos de configuración de desarrollo local, debe obtener un token de acceso para la instancia seleccionada. En estos pasos, se utiliza la instancia de AMER para el ejemplo:
-
Inicie sesión en https://amer.binrepo.guidewire.net/ con sus credenciales SAML de inicio de sesión único (SSO).
-
Abra su terminal en su directorio de inicio y ejecute el siguiente comando, reemplazando el valor de
{tenantId}por su ID de inquilino:
npm config set @jutro:registry=https://amer.binrepo.guidewire.net/artifactory/api/npm/jutro-{tenantId}-all-npm-virtual
npm login --scope=@jutro --registry=https://amer.binrepo.guidewire.net/artifactory/api/npm/jutro-{tenantId}-all-npm-virtual
4. Instalar el paquete de microfrontend en ambas aplicaciones
Tanto en su aplicación shell como en la aplicación que se va a convertir en un microfrontend, instale el paquete @jutro/micro-frontends. Esto le da acceso a las características del microfrontend.
MicroFrontend. En algunas configuraciones de producción, es posible que deba usar un método de incrustación diferente y no necesitará este paquete en la aplicación shell, pero en este tutorial debe instalarlo en ambas aplicaciones.Para instalar el paquete, ejecute el siguiente comando:
npm i --save @jutro/micro-frontends@<your-jutro-version>
La versión del paquete de microfrontend debe coincidir con los otros paquetes de Jutro Digital Platform, como @jutro/components.
5. Exponer la aplicación como un microfrontend
Después de instalar el paquete @jutro/micro-frontends, siga estos pasos para convertir la aplicación independiente o la aplicación de muestra en un microfrontend que luego puede incrustar en la aplicación shell:
- En la aplicación, asegúrese de que los archivos
src/indexAsync.tsysrc/startApp.tsestén presentes y créelos si no lo están. - Agregue lo siguiente a
src/indexAsync.ts:
import('./startApp').then(({ startApp }) => startApp());
- En
src/startApp.ts, modifique laimportde la funciónstartpor@jutro/micro-frontends:
// Replace the start function from '@jutro/app' with the one from '@jutro/micro-frontends'
import { start } from '@jutro/micro-frontends';
import messages from './app/App.messages';
...
Debe llamar a la función de microfrontend start dentro de la función startApp:
export const startApp = (mfeData: string) => {
start(Jutro, {
appName: messages.appName,
appDescription: messages.appDescription,
mfeData,
});
};
- Establezca una variable única
JUTRO_APP_IDen el archivo.env. Esto se utiliza como nombre de ámbito:
JUTRO_APP_ID=myjutroapp
JUTRO_APP_ID, las clases para los componentes personalizados tienen como prefijo este ID. Este ID solo es válido para un componente MicroFrontend en modo compartido. Si se utiliza cualquier otro método de integración, esta variable se ignora.- Cree un archivo en la raíz, en el mismo nivel que su
package.json. Asígnele el nombreoverrides.config.jsy configure la exposición de microfrontend en ese archivo:
module.exports = {
webpack: {
moduleFederation: {
exposes: 'myjutroapp',
},
},
};
- (Opcional). En el archivo
App.config.tsxde la aplicación, dentro de la instrucciónexportagregue la siguiente propiedad:
export default {
...
showSubHeader: false,
}
En la siguiente imagen, se muestra un ejemplo de la propiedad showSubHeader establecida en true y la apariencia resultante dentro de la aplicación shell, con el encabezado de la aplicación shell y el del microfrontend visibles:

- Inicie la aplicación ejecutando el siguiente comando en su terminal:
npm i
PORT=3001 npm start
6. Configurar la aplicación shell para que consuma microfrontends
Para mostrar el microfrontend en su aplicación shell, configure una nueva página y agréguele el componente MicroFrontend. Siga estos pasos para configurar la aplicación shell:
- En el directorio
src/pages, cree una nueva carpeta denominadaMyMicroFrontend. - Dentro de ese directorio, cree un nuevo archivo llamado
MyMicroFrontend.tsx. - En el archivo
src/app/App.config.tsx, agregue una nueva ruta para la página que acaba de crear:
import {Settings} from '../pages/Settings/Settings';
import {MyMicroFrontend} from '../pages/MyMicroFrontend/MyMicroFrontend';
...
export default {
...
routes: [
{
title: messages.pagesSettingsTitle,
path: '/settings',
exact: true,
component: Settings,
},
{
title: 'MyMicroFrontend',
path: '/mymicrofrontend',
component: MyMicroFrontend,
},
]
}
exact para la ruta del microfrontend, ya que esto puede causar problemas con la carga del microfrontend.7. Incrustar la aplicación en su aplicación shell
En su archivo MyMicroFrontend.tsx, incruste el microfrontend utilizando el componente MicroFrontend. Especifique el ID y la URL de la aplicación usando la propiedad src:
import React from 'react';
import { MicroFrontend } from '@jutro/micro-frontends';
export const MyMicroFrontend: React.FC = () => (
<MicroFrontend src="myjutroapp@http://localhost:3001" />
);
8. Iniciar sus aplicaciones y verificar que el microfrontend funcione
Inicie la aplicación shell ejecutando el siguiente comando en su terminal:
npm i
PORT=3000 npm start
Si todo está configurado correctamente, debería ver un elemento adicional en el menú de navegación de la aplicación shell para la página del microfrontend. Cuando selecciona ese elemento, el microfrontend se carga y es visible dentro de la aplicación shell.

Prácticas recomendadas
- Cuando trabaje con microfrontends para entornos de producción, asegúrese de comprender las diferencias entre las tecnologías disponibles para incrustar microfrontends y elija la que mejor se adapte a su caso de uso. Para obtener más información, consulte la descripción general de las tecnologías de incrustación de microfrontend.
- Asegúrese de que todos sus microfrontends utilicen valores de ID de aplicación distintos para evitar conflictos en el ámbito global.
-
La versión del paquete de microfrontend debe coincidir con los otros paquetes de Jutro Digital Platform, como
@jutro/components.
Consulte también
Para obtener más información sobre el uso del componente MicroFrontend con modo compartido, consulte las siguientes páginas: