Unified Web Application Development - A Declarative Approach to Empower End-User Developers
Loading...
URL
Journal Title
Journal ISSN
Volume Title
School of Science |
Doctoral thesis (article-based)
| Defence date: 2018-01-26
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2018
Major/Subject
Mcode
Degree programme
Language
en
Pages
107 + app. 79
Series
Aalto University publication series DOCTORAL DISSERTATIONS, 6/2018
Abstract
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.Yhtenäinen web-sovelluskehitys on hyperonyymi, jonka hyponyymeja ovat isomorfinen, monikerros- ja kerrokseton ohjelmointi. Kaikkien näiden kehitystapojen yhteisenä teemana on vähentää perinteisen web-sovelluskehityksen monimutkaisuutta laajentamalla yhdellä kerroksella yleisesti käytössä olevia ajattelutapoja ja teknologioita kattamaan kaikki web-sovelluksen kerrokset. Tämän seurauksena kerroskohtainen asiantuntija (ammattiohjelmoija) voi itsenäisesti toteuttaa koko web-sovelluksen (yhtenä artefaktina) yhdellä, hänelle sopivimmalla ohjelmointikielellä. Ammattiohjelmoijat eivät kuitenkaan ole ainoita, jotka kehittävät web-sovelluksia; lukuisat web-suunnittelijat ja (loppu)käyttäjät osallistuvat myös aktiivisesti web-kehitykseen. Nämä niin sanotut käyttäjäkehittäjät ovat amatööriohjelmoijia, joiden motivaatiot, tarpeet ja web-kehitystaidot eroavat huomattavasti ammattiohjelmoijista. Tämän väitöskirjan tavoitteena oli tutkia, miten yhtenäistää web-sovelluskehitystä ja samalla hyödyntää käyttäjäkehittäjien nykyisiä taitoja deklaratiivisista kielistä, eritoten (X)HTML:stä ja CSS:stä. Tutkimuksessa keskityttiin lähestymistapoihin, jotka mahdollistavat nykyaikaisten web-sovellusten luomisen ja muokkaamisen ensisijaisesti tekstuaalisesti (eikä visuaalisesti). Tutkimustavoitteen selvittämiseksi työssä laadittiin kattava kirjallisuuskatsaus ja vertailuanalyysi yhtenäisen web-sovelluskehityksen lähestymistavoista; tehtiin täydentävä kirjallisuuskatsaus käyttäjäkehittäjien web-sovelluskehitysmenetelmistä; ja suunniteltiin, toteutettiin ja arvioitiin uusi deklaratiivinen lähestymistapa, XFormsDB, keskitason käyttäjäkehittäjien web-sovelluskehityksen edesauttamiseksi. Tutkimus nojautui iteratiiviseen, kuusiportaiseen suunnittelutieteen tutkimusmetodologiaan. Tämän ensimmäistä laatuaan olevan kirjallisuuskatsauksen tuloksena tunnistettiin 16 vuosien 2006 ja 2016 välisenä aikana julkaistua yhtenäisen web-sovelluskehityksen lähestymistapaa, jotka luokiteltiin kolmeen ryhmään: esityskeskeiset, logiikkakeskeiset, ja tietokeskeiset lähestymistavat. Lähestymistapoja tarkasteltiin ja analysoitiin yksityiskohtaisesti arviointikriteerejä vasten. Vertailuanalyysi paljasti useita uusia näkemyksiä, vallitsevia trendejä ja tutkimusaukkoja, mukaan lukien käyttäjäkehittäjille soveltuvien lähestymistapojen puuttumisen. Täydentävä kirjallisuuskatsaus puolestaan osoitti, että nykyiset käyttäjäkehittäjille suunnatut lähestymistavat eivät tue kokonaisvaltaista web-sovelluskehitystä. Lisäksi työssä tuotettiin yhdeksäntasoinen luokittelu käyttäjäkehittäjien web-toimista. XFormsDB:stä saadut tulokset osoittivat, että käyttäjäkehittäjille tuttuja (X)HTML- ja CSS-kieliä voidaan laajentaa kattamaan kaikki web-sovelluksen kerrokset. Työssä esitetyt laajennokset kattoivat reaktiiviset käyttöliittymät, reaaliaikaisen viestinnän, sovelluslogiikan, tiedonhallinnan ja monikerroskomponentit. Käyttäjätutkimus puolestaan osoitti, että keskitason käyttäjäkehittäjien web-sovelluskehitysmahdollisuuksia voidaan laajentaa XFormsDB IDE (XIDE):n avulla.Description
Supervising professor
Vuorimaa, Petri, Prof., Aalto University, Department of Computer Science, FinlandKeywords
web application development, declarative languages, end-user development, web-sovelluskehitys, deklaratiiviset kielet, käyttäjäkehitys
Other note
Parts
-
[Publication 1]: Laine, M., Shestakov, D., Litvinova, E., and Vuorimaa, P. (2011). Toward Unified Web Application Development. IT Professional, 13(5), 30–36.
DOI: 10.1109/MITP.2011.55 View at publisher
-
[Publication 2]: Laine, M., Shestakov, D., and Vuorimaa, P. (2012). XFormsDB: An Extensible Web Application Framework Built upon Declarative W3C Standards. Applied Computing Review, 12(3), 37–50.
DOI: 10.1145/2387358.2387361 View at publisher
-
[Publication 3]: Vuorimaa, P., Laine, M., Litvinova, E., and Shestakov, D. (2016). Leveraging Declarative Languages in Web Application Development. World Wide Web, 19(4), 519–543.
DOI: 10.1007/s11280-015-0339-z View at publisher
-
[Publication 4]: Laine, M., Kleimola, J., and Vuorimaa, P. (2016). UniQue: An Approach for Unified and Efficient Querying of Heterogeneous Web Data Sources. In Proceedings of the 12th International Conference on Web Information Systems and Technologies (WEBIST ’16), Volume 1, pp. 84–94. SCITEPRESS.
DOI: 10.5220/0005764100840094 View at publisher
-
[Publication 5]: Litvinova, E., Laine, M., and Vuorimaa, P. (2012). XIDE: Expanding End-User Web Development. In Proceedings of the 8th International Conference on Web Information Systems and Technologies (WEBIST ’12), Volume 1, pp. 123–128. SCITEPRESS.
DOI: 10.5220/0003934201230128 View at publisher