Abstract
The programming capabilities of the Web can be viewed as an afterthought, designed originally by non-programmers for relatively simple scripting tasks. This has resulted in cornucopia of partially overlapping options for building applications. Depending on one’s viewpoint, a generic standards-compatible web browser supports three, four or five built-in application rendering and programming models. In this paper, we give an overview and comparison of these built-in client-side web application architectures in light of the established software engineering principles. We also reflect on our earlier work in this area, and provide an expanded discussion of the current situation. In conclusion, while the dominance of the base HTML/CSS/JS technologies cannot be ignored, we expect Web Components and WebGL to gain more popularity as the world moves towards increasingly complex web applications, including systems supporting virtual and augmented reality.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Anttonen, M., Salminen, A., Mikkonen, T., Taivalsaari, A.: Transforming the web into a real application platform: new technologies, emerging trends and missing pieces. In: Proceedings of the 2011 ACM Symposium on Applied Computing, pp. 800–807. ACM (2011)
Bergkvist, A., et al.: WebRTC 1.0: real-time communication between browsers. W3C Candidate Recommendation, 27 September 2018. https://www.w3.org/TR/webrtc/
Bitworking.org: Zero Framework Manifesto: No More JS Frameworks (2014). https://bitworking.org/news/2014/05/zero_framework_manifesto
Casteleyn, S., Garrigós, I., Mazón, J.N.: Ten years of Rich Internet Applications: a systematic mapping study, and beyond. ACM Trans. Web 8(3), 18:1–18:46 (2014). https://doi.org/10.1145/2626369. http://doi.acm.org/10.1145/2626369
Crane, D., McCarthy, P.: What Are Comet and Reverse Ajax?. Springer, Heidelberg (2009)
Flanagan, D.: JavaScript: The Definitive Guide, 6th edn. O’Reilly Media, Sebastopol (2011)
Gallidabino, A., et al.: On the architecture of liquid software: technology alternatives and design space. In: Proceedings of WICSA (2016)
Garrett, J.J.: Ajax: a new approach to web applications, 18 February 2005. http://adaptivepath.org/ideas/ajax-new-approach-web-applications/
Hartmann, B., Doorley, S., Klemmer, S.R.: Hacking, mashing, gluing: understanding opportunistic design. IEEE Pervasive Comput. 7(3), 46–54 (2008)
Hickson, I.: Server-sent events. W3C Recommendation, 3 February 2015. http://www.w3.org/TR/eventsource/
Ingalls, D., Palacz, K., Uhler, S., Taivalsaari, A., Mikkonen, T.: The lively kernel a self-supporting system on a web page. In: Hirschfeld, R., Rose, K. (eds.) S3 2008. LNCS, vol. 5146, pp. 31–50. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-89275-5_2
Jadhav, M.A., Sawant, B.R., Deshmukh, A.: Single page application using AngularJS. Int. J. Comput. Sci. Inf. Technol. 6(3), 2876–2879 (2015)
MacLennan, B.J.: Principles of Programming Languages: Design, Evaluation, and Implementation, 3rd edn. Oxford University Press, Oxford (1999)
Marcotte, E.: Responsive Web Design. Editions Eyrolles (2011)
Meijer, E.: Democratizing the cloud. In: Companion Proceedings of OOPSLA 2007, pp. 858–859 (2007). https://doi.org/10.1145/1297846.1297925. http://doi.acm.org/10.1145/1297846.1297925
Mikkonen, T., Taivalsaari, A.: Web applications – spaghetti code for the 21st century. In: Proceedings of the International Conference on Software Engineering Research, Management and Applications, SERA 2008, Prague, Czech Republic, 20–22 August 2008, pp. 319–328. IEEE Computer Society (2008)
Mikkonen, T., Taivalsaari, A.: Apps vs. open web: the battle of the decade. In: Proceedings of the 2nd Workshop on Software Engineering for Mobile Application Development, MSE, Santa Monica, CA, pp. 22–26 (2011)
Mikkonen, T., Taivalsaari, A.: Cloud computing and its impact on mobile software development: two roads diverged. J. Syst. Softw. 86(9), 2318–2320 (2013)
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)
Pimentel, V., Nickerson, B.G.: Communicating and displaying real-time data with WebSocket. IEEE Internet Comput. 16(4), 45–53 (2012)
Salminen, A., Mikkonen, T.: Mashups: software ecosystems for the web era. In: IWSECO@ ICSOB, pp. 18–32 (2012)
Salminen, A., Mikkonen, T., Nyrhinen, F., Taivalsaari, A.: Developing client-side mashups: experiences, guidelines and the road ahead. In: Proceedings of the 14th International Academic MindTrek Conference: Envisioning Future Media Environments, pp. 161–168. ACM (2010)
Strimpel, J., Najim, M.: Building Isomorphic JavaScript Apps: From Concept to Implementation to Real-World Solutions. O’Reilly Media Inc., Sebastopol (2016)
Taivalsaari, A., Mikkonen, T.: The web as an application platform: the saga continues. In: 37th EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 170–174. IEEE (2011)
Taivalsaari, A., Mikkonen, T.: Return of the great spaghetti monster: learnings from a twelve-year adventure in web software development. In: Majchrzak, T.A., Traverso, P., Krempels, K.-H., Monfort, V. (eds.) WEBIST 2017. LNBIP, vol. 322, pp. 21–44. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93527-0_2
Taivalsaari, A., Mikkonen, T., Ingalls, D., Palacz, K.: Web browser as an application platform: the lively kernel experience. Sun Labs Technical report TR-2008-175, January 2008
Taivalsaari, A., Mikkonen, T., Pautasso, C., Systä, K.: Comparing the built-in application architecture models in the web browser. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 51–54. IEEE (2017)
Taivalsaari, A., Mikkonen, T., Systä, K.: Liquid software manifesto: the era of multiple device ownership and its implications for software architecture. In: 38th IEEE Computer Software and Applications Conference (COMPSAC), pp. 338–343 (2014)
Taivalsaari, A., Mikkonen, T., Systä, K., Pautasso, C.: Web user interface implementation technologies: an underview. In: Proceedings of the 14th International Conference on Web Information Systems and Technologies, WEBIST 2018, Seville, Spain, 18–20 September 2018, pp. 127–136 (2018). https://doi.org/10.5220/0006885401270136
W3C: Scalable Vector Graphics (SVG) Specification 1.1, 2nd edn. (2011). https://www.w3.org/TR/SVG/
W3Schools: HTML5 Web Workers. http://www.w3schools.com/html/html5_webworkers.asp
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Taivalsaari, A., Mikkonen, T., Pautasso, C., Systä, K. (2019). Client-Side Cornucopia: Comparing the Built-In Application Architecture Models in the Web Browser. In: Escalona, M., Domínguez Mayo, F., Majchrzak, T., Monfort, V. (eds) Web Information Systems and Technologies. WEBIST 2018. Lecture Notes in Business Information Processing, vol 372. Springer, Cham. https://doi.org/10.1007/978-3-030-35330-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-35330-8_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-35329-2
Online ISBN: 978-3-030-35330-8
eBook Packages: Computer ScienceComputer Science (R0)