Is Node.js a viable option for building modern web applications? A performance evaluation study. We examine the implications of end-to-end web application development, in the social web era. The paper describes a distributed architecture, suitable for modern web application development, as well as the interactivity components associated with it. Furthermore, we conducted a series of stress tests, on popular server side technologies. The PHP/Apache stack was found inefficient to address the increasing demand in network traffic. Nginx was found more than 2.5 times faster in input/output (I/O) operations than Apache, whereas Node.js outperformed both. Node.js, although excellent in I/O operations and resource utilization, was found lacking in serving static files using its built in HTTP server, while Nginx performed great at this task. So, in order to address efficiency, an Nginx server could be placed in-front and proxy static file requests, allowing the Node.js processes to only handle dynamic content. Such a configuration can offer a better infrastructure in terms of efficiency and scalability, replacing the aged PHP/Apache stack. Furthermore we have found that building cross platform applications based on web technologies, is both feasible and highly productive, especially when addressing stationary and mobile devices, as well as the fragmentation among them. Our study concludes that Node.js offers client-server development integration, aiding code reusability in web applications, and is the perfect tool for developing fast, scalable network applications.

References in zbMATH (referenced in 16 articles , 1 standard article )

Showing results 1 to 16 of 16.
Sorted by year (citations)

  1. Jackson Borchardt; Raymond Dunn; Saul Kato: minimo: a linked data and metadata storage system for small labs (2021) not zbMATH
  2. Michael Seltenreich: EDO.js: A comprehensive JavaScript library for interaction with musical set theory in any tuning (2021) not zbMATH
  3. Norman Chen, Najam Nazar, Chun Yong Chong: CodeLabeller: A Web-based Code Annotation Tool for Java Design Patterns and Summaries (2021) arXiv
  4. Vitalis Salis, Thodoris Sotiropoulos, Panos Louridas, Diomidis Spinellis, Dimitris Mitropoulos: PyCG: Practical Call Graph Generation in Python (2021) arXiv
  5. Nikos Vasilakis, Cristian-Alexandru Staicu, Greg Ntousakis, Konstantinos Kallas, Ben Karel, André DeHon, Michael Pradel: Mir: Automated Quantifiable Privilege Reduction Against Dynamic Library Compromise in JavaScript (2020) arXiv
  6. Timotheus Kampik, Juan Carlos Nieves: JS-son - A Lean, Extensible JavaScript Agent Programming Library (2020) arXiv
  7. Daniel Smilkov, Nikhil Thorat, Yannick Assogba, Ann Yuan, Nick Kreeger, Ping Yu, Kangyi Zhang, Shanqing Cai, Eric Nielsen, David Soergel, Stan Bileschi, Michael Terry, Charles Nicholson, Sandeep N. Gupta, Sarah Sirajuddin, D. Sculley, Rajat Monga, Greg Corrado, Fernanda B. Viegas, Martin Wattenberg: TensorFlow.js: Machine Learning for the Web and Beyond (2019) arXiv
  8. Newlyn N. Joseph, Raktim N. Roy, Thomas A. Steitz: pdbmine: A Node.js API for the RCSB Protein Data Bank (PDB) (2019) arXiv
  9. Pierre Lacroix; Frédéric Moser; Antonio Benvenuti; Thomas Piller; David Jensen; Inga Petersen; Marion Planque; Nicolas Ray: MapX: An open geospatial platform to manage, analyze and visualize data on natural resources and the environment (2019) not zbMATH
  10. Lum, Oliver; Golden, Bruce; Wasil, Edward: An open-source desktop application for generating arc-routing benchmark instances (2018)
  11. Ancona, Davide; Delzanno, Giorgio; Franceschini, Luca; Leotta, Maurizio; Prampolini, Enrico; Ribaudo, Marina; Ricca, Filippo: An abstract machine for asynchronous programs with closures and priority queues (2017)
  12. Fabisiak, Tomasz; Danilecki, Arkadiusz: Browser-based harnessing of voluntary computational power (2017)
  13. Hedin, Daniel; Sjösten, Alexander; Piessens, Frank; Sabelfeld, Andrei: A principled approach to tracking information flow in the presence of libraries (2017)
  14. Chaniotis, Ioannis K.; Kyriakou, Kyriakos-Ioannis D.; Tselikas, Nikolaos D.: Is Node.js a viable option for building modern web applications? A performance evaluation study (2015) ioport
  15. Grønli, Tor-Morten; Pourghomi, Pardis; Ghinea, Gheorghita: Towards NFC payments using a lightweight architecture for the Web of Things (2015) ioport
  16. Vineeth Kashyap, Kyle Dewey, Ethan A. Kuefner, John Wagner, Kevin Gibbons, John Sarracino, Ben Wiedermann, Ben Hardekopf: JSAI: Designing a Sound, Configurable, and Efficient Static Analyzer for JavaScript (2014) arXiv