Interactividad cruzada mediante eventos - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Interactividad cruzada mediante eventos

En algunos escenarios, es posible que sea necesario que varias microinterfaces interactúen entre sí para reaccionar ante los cambios de estado o las acciones de los usuarios. Por ejemplo, varias microinterfaces de la página pueden incluir menús plegables. Aparece un menú cuando el usuario selecciona un botón. El menú se oculta cuando el usuario hace clic en cualquier otro lugar, incluido otro menú que se muestra en una microinterfaz diferente.

Técnicamente, una biblioteca estatal compartida, como Redux, puede ser utilizada por múltiples microinterfaces y estar coordinada por una interfaz. Sin embargo, esto crea un acoplamiento significativo entre las aplicaciones, lo que hace que el código sea más difícil de probar y podría ralentizar el rendimiento durante el renderizado.

Un enfoque común y eficaz consiste en desarrollar un bus de eventos distribuido como una biblioteca, orquestado por el shell de la aplicación y utilizado por múltiples microinterfaces. De esta forma, cada microinterfaz publica y escucha determinados eventos de forma asíncrona, basando su comportamiento únicamente en su propio estado interno. De este modo, varios equipos pueden mantener una página wiki compartida que describa los eventos y documente los comportamientos acordados por los diseñadores de experiencia de usuario.

En una implementación del ejemplo del bus de eventos, un componente desplegable utiliza el bus compartido para publicar un evento llamado drop-down-open-menu con una carga útil de. {"id": "homepage-aboutus-button"} El componente añade un detector al drop-down-open-menu evento para garantizar que, si se activa un evento con una nueva ID, el componente desplegable se renderiza para ocultar su sección plegable. De esta forma, la microinterfaz puede reaccionar a los cambios de forma asíncrona con un mayor rendimiento y una mejor encapsulación, lo que facilita que varios equipos diseñen y prueben los comportamientos.

Recomendamos utilizar un estándar APIs implementado de forma nativa en los navegadores modernos para mejorar la simplicidad y la facilidad de mantenimiento. La referencia de eventos de MDN proporciona información sobre el uso de eventos con aplicaciones renderizadas del lado del cliente.