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 12 articles , 1 standard article )

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

  1. 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
  2. Timotheus Kampik, Juan Carlos Nieves: JS-son - A Lean, Extensible JavaScript Agent Programming Library (2020) arXiv
  3. 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
  4. Newlyn N. Joseph, Raktim N. Roy, Thomas A. Steitz: pdbmine: A Node.js API for the RCSB Protein Data Bank (PDB) (2019) arXiv
  5. 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
  6. Lum, Oliver; Golden, Bruce; Wasil, Edward: An open-source desktop application for generating arc-routing benchmark instances (2018)
  7. Fabisiak, Tomasz; Danilecki, Arkadiusz: Browser-based harnessing of voluntary computational power (2017)
  8. Hedin, Daniel; Sjösten, Alexander; Piessens, Frank; Sabelfeld, Andrei: A principled approach to tracking information flow in the presence of libraries (2017)
  9. Lee, James; Rowlands, David; Jackson, Nicholas; Leadbetter, Raymond; Wada, Tomohito; James, Daniel A.: An architectural based framework for the distributed collection, analysis and query from inhomogeneous time series data sets and wearables for biofeedback applications (2017)
  10. 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
  11. Grønli, Tor-Morten; Pourghomi, Pardis; Ghinea, Gheorghita: Towards NFC payments using a lightweight architecture for the Web of Things (2015) ioport
  12. 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