Skip to main content

Client-Side Cornucopia: Comparing the Built-In Application Architecture Models in the Web Browser

  • Conference paper
  • First Online:
Web Information Systems and Technologies (WEBIST 2018)

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 372))

Included in the following conference series:

  • 356 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://dom.spec.whatwg.org/.

  2. 2.

    https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/w3c.svg.

References

  1. 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)

    Google Scholar 

  2. Bergkvist, A., et al.: WebRTC 1.0: real-time communication between browsers. W3C Candidate Recommendation, 27 September 2018. https://www.w3.org/TR/webrtc/

  3. Bitworking.org: Zero Framework Manifesto: No More JS Frameworks (2014). https://bitworking.org/news/2014/05/zero_framework_manifesto

  4. 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

    Article  Google Scholar 

  5. Crane, D., McCarthy, P.: What Are Comet and Reverse Ajax?. Springer, Heidelberg (2009)

    Book  Google Scholar 

  6. Flanagan, D.: JavaScript: The Definitive Guide, 6th edn. O’Reilly Media, Sebastopol (2011)

    MATH  Google Scholar 

  7. Gallidabino, A., et al.: On the architecture of liquid software: technology alternatives and design space. In: Proceedings of WICSA (2016)

    Google Scholar 

  8. Garrett, J.J.: Ajax: a new approach to web applications, 18 February 2005. http://adaptivepath.org/ideas/ajax-new-approach-web-applications/

  9. Hartmann, B., Doorley, S., Klemmer, S.R.: Hacking, mashing, gluing: understanding opportunistic design. IEEE Pervasive Comput. 7(3), 46–54 (2008)

    Article  Google Scholar 

  10. Hickson, I.: Server-sent events. W3C Recommendation, 3 February 2015. http://www.w3.org/TR/eventsource/

  11. 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

    Chapter  Google Scholar 

  12. Jadhav, M.A., Sawant, B.R., Deshmukh, A.: Single page application using AngularJS. Int. J. Comput. Sci. Inf. Technol. 6(3), 2876–2879 (2015)

    Google Scholar 

  13. MacLennan, B.J.: Principles of Programming Languages: Design, Evaluation, and Implementation, 3rd edn. Oxford University Press, Oxford (1999)

    MATH  Google Scholar 

  14. Marcotte, E.: Responsive Web Design. Editions Eyrolles (2011)

    Google Scholar 

  15. 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

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Mikkonen, T., Taivalsaari, A.: Cloud computing and its impact on mobile software development: two roads diverged. J. Syst. Softw. 86(9), 2318–2320 (2013)

    Article  Google Scholar 

  19. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  20. Pimentel, V., Nickerson, B.G.: Communicating and displaying real-time data with WebSocket. IEEE Internet Comput. 16(4), 45–53 (2012)

    Article  Google Scholar 

  21. Salminen, A., Mikkonen, T.: Mashups: software ecosystems for the web era. In: IWSECO@ ICSOB, pp. 18–32 (2012)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. Strimpel, J., Najim, M.: Building Isomorphic JavaScript Apps: From Concept to Implementation to Real-World Solutions. O’Reilly Media Inc., Sebastopol (2016)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. 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

    Chapter  Google Scholar 

  26. 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

    Google Scholar 

  27. 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)

    Google Scholar 

  28. 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)

    Google Scholar 

  29. 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

  30. W3C: Scalable Vector Graphics (SVG) Specification 1.1, 2nd edn. (2011). https://www.w3.org/TR/SVG/

  31. W3Schools: HTML5 Web Workers. http://www.w3schools.com/html/html5_webworkers.asp

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kari Systä .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics