The comparative analysis of web applications frameworks in the Node.js ecosystem
Bartosz Miłosierny
bartosz.milosierny@pollub.edu.plLublin University of Technology (Poland)
Mariusz Dzieńkowski
Lublin University of Technology
Abstract
The subject of the research was the comparative analysis of three frameworks for building web applications, i.e. Express, Hapi and Koa, operating in the Node.js ecosystem. An experiment was prepared consisting of a number of scenarios, during which the server response times to incoming requests from the client were measured. As part of the work, server test applications handling HTTP requests (GET, POST, PUT, DELETE) performing typical data operations were implemented. The applications contained the same functionalities and were built using the three tested frameworks. In individual scenarios, 1000 requests of a given type were sent from independent clients, the times of successive responses were measured and their averages were calculated. On the basis of the obtained results, Hapi and Koa frameworks for GET, POST, PUT, DELETE requests, operating on one object or a string "Hello World!" have achieved the best, although very similar, response times. In the case of the GET request, the Koa framework proved to be the best for higher loads, achieving response times approximately 20% better than the Express framework. For high loads, the Hapi framework achieved the worst results, reaching over 2 times longer response times than the Koa framework.
Keywords:
JavaScript frameworks, Node.js environment, performance comparative analysis, server applicationsReferences
A. Wójcik, M. Wolski, J.B. Smołka, Performance analysis of the Symfony framework for creating modern web application based on selected versions, Journal of Computer Sciences Institute, 13, 293-297, 2019.
DOI: https://doi.org/10.35784/jcsi.1322
Google Scholar
Global companies using Node.js in production, https://www.tothenew.com/blog/how-are-10-global-companies-using-node-js-in-production/, [04.11.2020]
Google Scholar
G.A. Di Lucca, A. R. Fasolino, Testing web-based applications: The state of the art and future trends, Information and Software Technology 48, 1172–1186, 2006.
DOI: https://doi.org/10.1016/j.infsof.2006.06.006
Google Scholar
M. Greiff, A. Johansson, Symfony vs Express: A Server-Side Framework Comparison, Dissertation, 2019.
Google Scholar
K. Lei, Y. Ma, Z. Tan, Performance comparison and evaluation of web development technologies in PHP, Python and Node.js, IEEE Computer Society, 661-668, 2014.
DOI: https://doi.org/10.1109/CSE.2014.142
Google Scholar
I.K. Chaniotis, K.D. Kyriakou, N.D. Tselikas, Is Node.js a viable option for building modern web applications? A performance evaluation study, Computing 97 (10), 1023-1044, 2015.
DOI: https://doi.org/10.1007/s00607-014-0394-9
Google Scholar
Rozpoczęcie pracy z Node.js, https://riptutorial.com/pl/node-js, [07.11.2020].
Google Scholar
R.T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, Doctoral dissertation, University of California, 2000.
Google Scholar
Wstęp do REST API, https://devszczepaniak.pl/wstep-do-rest-api/, [04.11.2020].
Google Scholar
Mastering REST, https://medium.com/@ahmetozlu93/mastering-rest-architecture-rest-architecture-details-e47ec659f6bc, [04.11.2020].
Google Scholar
Postman, https://www.postman.com/, [04.11.2020].
Google Scholar
B. Mehta, RESTful Java Patterns and Best Practices, Packt Publishing, 2014.
Google Scholar
Perfy, https://www.npmjs.com/package/perfy, [04.11.2020].
Google Scholar
Dokumentacja Perfy, https://github.com/onury/perfy, [04.11.2020].
Google Scholar
Dokumentacja Express, https://expressjs.com/, [04.11.2020].
Google Scholar
Zestawienie szkieletów Node.js, https://www.simform.com/best-nodejs-frameworks/, [04.11.2020].
Google Scholar
Dokumentacja Hapi, https://hapi.dev/, [04.11.2020].
Google Scholar
Dokumentacja Koa, https://github.com/koajs/koa, [04.11.2020].
Google Scholar
JSONPlaceholder, https://jsonplaceholder.typicode.com/, [04.11.2020].
Google Scholar
Authors
Mariusz DzieńkowskiLublin University of Technology
Statistics
Abstract views: 1143PDF downloads: 889
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.