Mercury: A Messaging Framework for Modular UI Components

Mercury: A Messaging Framework for Modular UI Components
复制标题

DOI:
10.1145/3173574.3174162
复制
发表时间:
2018-04
期刊:
Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems
影响因子:
--
通讯作者:
Carmine Elvezio;Mengu Sukan;Steven K. Feiner
Carmine Elvezio;Mengu Sukan;Steven K. Feiner
中科院分区:
其他
文献类型:
--
作者:
Carmine Elvezio;Mengu Sukan;Steven K. Feiner

文献摘要

被引文献

相似文献

近年来,实体-组件-系统模式已成为Unity和Unreal等游戏开发环境的软件架构的基本特征,这些环境广泛用于开发3D用户界面。在这些系统中,UI组件通常响应事件,要求程序员编写特定于应用程序的回调函数。在某些情况下,组件被组织在用于在垂直连接的组件之间传播事件的层次结构中。当组件需要水平通信时,程序员必须手动连接这些组件,并根据需要注册/取消注册事件。此外,事件和回调签名可能不兼容,这使得模块化UI在应用程序内或跨应用程序构建和共享起来很麻烦。为了解决这些问题,我们引入了一个消息传递框架Mercury,以促进组件之间的通信。我们提供了一个水星的概述,概述其底层协议,以及它如何使用中继节点将消息传播给响应者,描述了在Unity中的参考实现,并介绍了使用水星构建的示例系统,以解释其优势。
In recent years, the entity--component--system pattern has become a fundamental feature of the software architectures of game-development environments such as Unity and Unreal, which are used extensively in developing 3D user interfaces. In these systems, UI components typically respond to events, requiring programmers to write application-specific callback functions. In some cases, components are organized in a hierarchy that is used to propagate events among vertically connected components. When components need to communicate horizontally, programmers must connect those components manually and register/unregister events as needed. Moreover, events and callback signatures may be incompatible, making modular UIs cumbersome to build and share within or across applications. To address these problems, we introduce a messaging framework, Mercury, to facilitate communication among components. We provide an overview of Mercury, outline its underlying protocol and how it propagates messages to responders using relay nodes, describe a reference implementation in Unity, and present example systems built using Mercury to explain its advantages.