Creating and maintaining a modern, heterogeneous set of client applications remains an obstacle for many businesses and individuals. While simple domain-specific graphical languages and libraries can empower a variety of users to create application behaviors and logic, using these languages to produce and maintain a set of heterogeneous client applications is a challenge. Primarily because each client typically requires the developers to both understand and embed the domain-specific logic. This is because application logic must be encoded to some extent in both the server and client sides. In this paper, we propose an alternative approach, which allows the specification of application logic to reside solely on the cloud. We have built a system where reusable application components can be assembled on the cloud in different logical chains and the client is largely decoupled from this logic and is solely concerned with how data is displayed and gathered from users of the application. In this way, the chaining of requests and responses is done by the cloud and the client side has no knowledge of the application logic. An additional effect of our approach is that the client side developer is able to immediately see any changes they make, while executing the logic residing on the cloud. This further allows more novice programmers to perform these customizations, as they do not need to `get the full application working' and are able to see the results of their code as they go, thereby lowering the obstacles to businesses and individuals to produce and maintain applications. Furthermore, this decoupling enables the quick generation and customization of a variety of application clients, ranging from web to mobile devices and personal assistants, while customizing one or more as needed.
翻译:创建和维护一套现代、多样化的客户应用程序仍然是许多企业和个人面临的一个障碍。虽然简单的域别图形语言和图书馆可以增强各种用户创建应用行为和逻辑的能力,但使用这些语言制作和维持一套多样化客户应用程序是一项挑战。主要因为每个客户通常要求开发者理解和嵌入域别逻辑。这是因为应用逻辑必须在某种程度上在服务器和客户方面进行编码。在本文中,我们提议了一种替代方法,使应用逻辑的规格可以只停留在云层上。我们建立了一个系统,可以将可再使用的应用程序组件聚集在不同逻辑链的云层上,客户基本上与这一逻辑脱钩,只关心如何显示和从应用程序的用户那里收集数据。这样,请求和答复的链由云层和客户方面对应用逻辑都缺乏了解。我们的方法的另一个影响是,客户方能够立即看到任何变化,同时在云层上执行逻辑,可以将可重新使用的应用程序组件组装在云层上,客户在很大程度上与客户分开,从而使得这些应用程序的用户能够进行快速的定制,从而使得这些客户能够进行快速的定制,从而使得这些客户能够进行快速的操作,从而使这些客户的应用程序能够进行快速的生成。