Declarative assembly of web applications from predefined concepts

Declarative assembly of web applications from predefined concepts
复制标题

DOI:
10.1145/3359591.3359728
复制
发表时间:
2019-10
期刊:
Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
影响因子:
--
通讯作者:
Santiago Perez De Rosso;D. Jackson;Maryam Archie;Czarina Lao;Barry A. McNamara
Santiago Perez De Rosso;D. Jackson;Maryam Archie;Czarina Lao;Barry A. McNamara
中科院分区:
其他
文献类型:
--
作者:
Santiago Perez De Rosso;D. Jackson;Maryam Archie;Czarina Lao;Barry A. McNamara

文献摘要

被引文献

相似文献

提出了一种新的Web应用程序开发方法,在该方法中,通过配置和组合从专家开发的目录中提取的概念来构造应用程序。概念是一个独立的、可重用的功能增量。每个概念都包括前端和后端功能,并导出由应用程序逻辑和数据库存储支持的组件(全栈GUI元素)集合。为了构建应用程序,开发人员从目录中导入概念,通过配置变量调整它们以适应应用程序的特定需求,并将概念组件链接在一起以创建页面。不同概念的组件可以独立地执行,或者通过同步和同步声明性地绑定在一起。组件的实例化、配置、链接和绑定都是用一种扩展HTML的简单模板语言来表达的。该方法已在一个名为Déjà Vu的平台上实现,我们概述并与传统的Web应用程序架构进行比较。我们描述了一个案例研究,其中收集的应用程序以前建立的Web编程课程的团队项目复制在似曾相识。初步结果验证了我们的假设,表明各种各样的非平凡的应用程序可以建立从一个存储库的通用概念。
A new approach to web application development is presented, in which an application is constructed by configuring and composing concepts drawn from a catalog developed by experts. A concept is a self-contained, reusable increment of functionality. Each concept includes both front-end and back-end functionality, and exports a collection of components—full-stack GUI elements, backed by application logic and database storage. To build an app, the developer imports concepts from the catalog, tunes them to fit the application’s particular needs via configuration variables, and links concept components together to create pages. Components of different concepts may be executed independently, or bound together declaratively with dataflows and synchronization. The instantiation, configuration, linking and binding of components is all expressed in a simple template language that extends HTML. The approach has been implemented in a platform called Déjà Vu, which we outline and compare to conventional web application architectures. We describe a case study in which a collection of applications previously built as team projects for a web programming course were replicated in Déjà Vu. Preliminary results validate our hypothesis, suggesting that a variety of non-trivial applications can be built from a repository of generic concepts.