Abstract
Web Applications have become an omnipresent part of our daily lives. They are easy to use, but hard to develop. WYSIWYG editors, form builders, mashup editors, and markup authoring tools ease the development of Web Applications. However, more advanced Web Applications require servers-side programming, which is beyond the skills of end-user developers. In this paper, we discuss how declarative languages can simplify Web Application development and empower end-users as Web developers. We first identify nine end-user Web Application development levels ranging from simple visual customization to advanced three-tier programming. Then, we propose expanding the presentation tier to support all aspects of Web Application development. We introduce a unified XForms-based framework—called XFormsDB—that supports both client-side and server-side Web Application development. Furthermore, we make a language extension proposal—called XFormsRTC—for adding true real-time communication capabilities to XForms. We also present XFormsDB Integrated Development Environment (XIDE), which assists end-users in authoring highly interactive data-driven Web Applications. XIDE supports all Web Application development levels and, especially, promotes the transition from markup authoring and snippet programming to single and unified language programming.
Highlights
Interactive data-driven Web Applications—abbreviated to Web Applications in the following—are usually based on the so-called three-tier architecture [2]
In [28], we evaluated three frameworks in detail, each representing the Web tier-expansion approach: our declarative XFormsDB, imperative Google Web toolkit (GWT)2, and declarative Sausalito3 [22], which expand the presentation, logic, and data tiers, respectively
We propose to use XForms [5], which is an XML-based Web user interface language designed to tackle the most common problems found in HTML forms
Summary
Interactive data-driven Web Applications—abbreviated to Web Applications in the following—are usually based on the so-called three-tier architecture [2]. The presentation tier (i.e., user interface) is defined using HTML and CSS languages, and complemented with numerous JavaScript embeddings for client-side application logic. The logic tier (i.e., server-side application logic) is based either on an object-oriented (e.g., Java or Ruby) or scripting (e.g., PHP) language and uses HTML, XML, or JSON formats for client–server communication. The data tier (i.e., application data) uses either an Object-Relational Mapping (ORM) library or SQL statements for data management. Web Applications contain both imperative (e.g., Java and JavaScript) and declarative (e.g., HTML, CSS, and SQL) components. Web developers have to master several programming languages and face their conceptual differences [39]. A common solution is to assign tier-specific professionals (i.e., Web designers, software engineers, and database experts) to develop each tier
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.