论文标题

通过特定于云的域特异性功能降低应用程序开发的障碍

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

论文作者

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

论文摘要

对于许多企业和个人来说,创建和维护现代,异质的客户应用程序仍然是一个障碍。虽然简单的特定于域的图形语言和库可以使各种用户能够创建应用程序行为和逻辑,但使用这些语言来生产和维护一组异类客户端应用程序是一个挑战。主要是因为每个客户通常要求开发人员了解和嵌入特定于域的逻辑。这是因为应用程序逻辑必须在服务器和客户端侧的一定程度上进行编码。 在本文中,我们提出了一种替代方法,该方法允许应用程序逻辑仅驻留在云上。我们已经构建了一个系统,可以将可重复使用的应用程序组件以不同的逻辑链组装在云上,并且客户端在很大程度上与此逻辑脱在一起,并且完全关注如何从应用程序的用户显示和收集数据。这样,请求和响应的链接是由云完成的,客户端不知道应用程序逻辑。 我们方法的另一个效果是,客户端开发人员能够在执行位于云上的逻辑时立即看到他们所做的任何更改。这进一步允许更多的新手程序员执行这些自定义,因为他们不需要“使完整的应用程序工作”,并且能够看到其代码的结果,从而降低了企业和个人生产和维护应用程序的障碍。此外,这种解耦可以使各种应用程序客户端的快速生成和自定义,从网络到移动设备和个人助理,同时根据需要自定义一个或多个。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源