arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2204.09758cs.SE
收藏

利用云原生领域特定功能降低应用程序开发障碍

Lowering Barriers to Application Development With Cloud-Native Domain-Specific Functions

José Miguel Pérez-Álvarez, Adrian Mos, Benjamin V. Hanrahan, Iyadunni J. Adenuga

摘要:

创建和维护一组现代的、异构的客户端应用程序仍然是许多企业和个人面临的一个障碍。虽然简单的特定于领域的图形语言和库可以使各种用户创建应用程序的行为和逻辑,使用这些语言来生成和维护一组异构的客户端应用程序是一个挑战。因为每个客户端通常都要求开发人员理解并嵌入特定于域的逻辑。这是因为应用程序逻辑必须在服务器端和客户端都进行某种程度的编码。在本文中,我们提出了一种替代方法,它允许应用程序逻辑的规范只驻留在云上。我们已经构建了一个系统,其中可重用的应用程序组件可以在云上以不同的逻辑链进行组装,客户端在很大程度上与此逻辑解耦,并且只关心如何显示数据并从应用程序的用户那里收集数据。通过这种方式,请求和响应的链接由云完成,客户端不了解应用程序逻辑。我们的方法的另一个效果是,客户端开发人员能够立即看到他们所做的任何更改,同时执行驻留在云上的逻辑。这进一步允许更多的新手程序员执行这些定制,因为他们不需要“让整个应用程序工作”,并且能够在运行时看到他们的代码的结果,从而降低了企业和个人制作和维护应用程序的障碍。此外,这种解耦使得能够快速生成和定制各种应用程序客户端,从web到移动设备和个人助理,同时根据需要定制一个或多个。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑