convenience function libraries to full-fledged Model-
View-Controller (MVC) frameworks providing exten-
sive UI component sets, application state manage-
ment, network communication and database inter-
faces, and so on. In general, these will not help in
tackling the above characteristics but rather add a new
layer of complexity on top of them.
6 CONCLUSIONS
Web development today presents a cornucopia of
choices on many fronts. Both on the client side and
the server side, there exist a large number of compet-
ing, overlapping technologies, and new libraries and
tools become available almost on a daily basis. The
rapid pace of innovation has put the developers in a
complex position in which there are numerous ways
to build applications on the Web – many more than
most people realize, and also arguably more than are
really needed.
In this paper, we have investigated one of the
perhaps most overlooked areas in web development:
the client-side web rendering architectures that have
been built into the web browser. We summarized five
built-in rendering and application development mod-
els (DOM/DHTML, Canvas, WebGL, SVG, and Web
Components), followed by some broader architectural
discussion.
REFERENCES
Anttonen, M., Salminen, A., Mikkonen, T., and Taivalsaari,
A. (2011). Transforming the Web into a Real Appli-
cation Platform: New Technologies, Emerging Trends
and Missing Pieces. In Proceedings of the 2011 ACM
Symposium on Applied Computing, pages 800–807.
ACM.
Berners-Lee, T. and Fischetti, M. (2000). Weaving the
Web: The Original Design and Ultimate Destiny of
the World Wide Web by its Inventor. HarperInforma-
tion.
Bitworking.org (2014). Zero Framework Manifesto: No
More JS Frameworks. https://bitworking.org/news/
2014/05/zero framework manifesto.
Casteleyn, S., Garrig
´
os, I., and Maz
´
on, J.-N. (2014). Ten
Years of Rich Internet Applications: A Systematic
Mapping Study, and Beyond. ACM Trans. Web,
8(3):18:1–18:46.
Charland, A. and Leroux, B. (2011). Mobile Application
Development: Web vs. Native. Communications of
the ACM, 54(5):49–53.
Daniel, F. and Matera, M. (2014). Mashups: Concepts,
Models and Architectures. Springer.
Flanagan, D. (2011). JavaScript: The Definitive Guide, 6th
Edition. O’Reilly Media.
Gallidabino, A. and Pautasso, C. (2017). Maturity Model
for Liquid Web Architectures. In 17th International
Conference on Web Engineering (ICWE 2017), vol-
ume 10360, pages 206–224, Rome, Italy. Springer.
Hartmann, B., Doorley, S., and Klemmer, S. R. (2008).
Hacking, Mashing, Gluing: Understanding Oppor-
tunistic Design. IEEE Pervasive Computing, 7(3):46–
54.
Holdener, A. T. (2008). Ajax: The Definitive Guide: Inter-
active Applications for the Web. O’Reilly Media.
Jadhav, M. A., Sawant, B. R., and Deshmukh, A. (2015).
Single Page Application using AngularJS. Interna-
tional Journal of Computer Science and Information
Technologies, 6(3).
MacLennan, B. J. (1999). Principles of Programming Lan-
guages: Design, Evaluation, and Implementation, 3rd
edition. Oxford University Press.
Marcotte, E. (2011). Responsive Web Design. Editions Ey-
rolles.
Meijer, E. (2007). Democratizing the Cloud. In Companion
Proc. of OOPSLA’07, pages 858–859.
Mikkonen, T. and Taivalsaari, A. (2008). Web Applications
– Spaghetti Code for the 21st Century. In Proc. Int’l
Conf. Software Engineering Research, Management
and Applications (SERA’2008, Prague, Czech Repub-
lic, August 20-22, 2008), pages 319–328. IEEE Com-
puter Society.
Parnas, D. L. (1972). On the Criteria to be Used in Decom-
posing Systems into Modules. Communications of the
ACM, 15(12):1053–1058.
Salminen, A. and Mikkonen, T. (2012). Mashups: Software
Ecosystems for the Web Era. In IWSECO@ ICSOB,
pages 18–32.
Salminen, A., Mikkonen, T., Nyrhinen, F., and Taivalsaari,
A. (2010). Developing Client-Side Mashups: Experi-
ences, Guidelines and the Road Ahead. In Proc. 14th
Int’l Academic MindTrek Conference: Envisioning
Future Media Environments, pages 161–168. ACM.
Schummer, J., MacLennan, B., and Taylor, N. (2009). Aes-
thetic Values in Technology and Engineering Design.
In Philosophy of Technology and Engineering Sci-
ences, Handbook of the Philosophy of Science, pages
1031 – 1068. North-Holland, Amsterdam.
Taivalsaari, A. and Mikkonen, T. (2011). The Web as an Ap-
plication Platform: The Saga Continues. In 37th EU-
ROMICRO Conference on Software Engineering and
Advanced Applications, pages 170–174. IEEE.
Taivalsaari, A., Mikkonen, T., Ingalls, D., and Palacz, K.
(January 2008). Web Browser as an Application Plat-
form: the Lively Kernel Experience, Sun Labs Tech-
nical Report TR-2008-175.
Taivalsaari, A., Mikkonen, T., Syst
¨
a, K., and Pautasso, C.
(2017). Comparing the Built-In Application Archi-
tecture Models in the Web Browser. In International
Conference on Software Architecture (ICSA). IEEE.
W3C (2011). Scalable Vector Graphics (SVG) Specification
1.1 (Second Edition). https://www.w3.org/TR/SVG/.
WEBIST 2018 - 14th International Conference on Web Information Systems and Technologies
136