Unified web application development is an umbrella term that encompasses isomorphic, multi-tier, and tierless programming. The common theme of all these efforts is to reduce the complexity of conventional web application development by expanding the concepts and technologies commonly used on a single tier to cover all tiers of a web application. Consequently, a tier-specific expert (professional programmer) can autonomously write an entire multi-tier web application (as a single artifact) in a programming language that s/he is most comfortable with. However, professional programmers are not the only ones building web applications; numerous web designers and end-users also actively engage in web development. These so-called end-user developers are non-professional programmers, whose motivations, needs, and web development skills greatly differ from that of professional programmers. The aim of this dissertation was to study how to unify web application development and, at the same time, leverage end-user developers' existing skills in declarative languages, namely (X)HTML and CSS. The study focused on approaches that allow creating and editing today's modern web applications primarily textually (rather than visually). To accomplish this research aim, a comprehensive survey and comparative analysis of approaches to unified web application development was conducted; a complementary review of approaches to end-user development (EUD) of web applications was carried out; and a novel declarative approach called XFormsDB to empower intermediate level end-user developers in building web applications was designed, implemented, and evaluated. The research followed an iterative, six-step design science research methodology. As a result of this first-of-its-kind survey, 16 relevant approaches to unified web application development published between 2006 and 2016 were identified and classified into three categories: presentation-centric, logic-centric, and data-centric approaches. The approaches were reviewed and analyzed in detail with respect to a set of evaluation criteria. The comparative analysis revealed a number of new insights, current trends, and research gaps, including a lack of approaches suitable for end-user developers. The complementary review, on the other hand, showed that current EUD approaches lack support for complete web application development. Additionally, a nine-level classification of web-related EUD activities was developed. The results with XFormsDB demonstrated that the familiar syntax of (X)HTML and CSS can be seamlessly extended far beyond the current state of practice. The proposed extensions covered all common aspects of a web application, including reactive user interfaces, real-time communication, server-side application logic, data access and management, and multi-tier components. The user study, in turn, showed that XFormsDB IDE (XIDE) can help intermediate end-user developers to expand their web application development possibilities.
|Publication status||Published - 2018|
|MoE publication type||G5 Doctoral dissertation (article)|
- web application development, declarative languages, end-user development