A Test Environment for Web Single Page Applications (SPA)

Hans Findel, Jaime Navon

Abstract

The architecture of web applications has evolved in the last few years. The need to provide a native-like quality user experience has forced developers to move code to the client side (JavaScript). The dramatic increase in the size of the JavaScript code was addressed first with the help of powerful libraries (jQuery) and more recently with the help of JavaScript frameworks. But although nowadays most web applications use these powerful JavaScript frameworks, there is not much information about the impact on performance that the inclusion of this additional code will produce. One possible reason is the lack of simple and flexible tools to test the application when it is actually running in a real browser. We developed a test framework and tools that allows the developer to easily put under test different implementation options. The tools are implemented as plugins for the most popular browsers so the application can run in its real environment. To validate the usefulness of the tools we performed extensive test to a 6 different implementations of a single web application. We found important performance differences across the tested frameworks. In particular, we found that the Backbone instance was faster and used fewer resources.

References

  1. S. Stefanov and others (2012): Web Performance Daybook vol. 2, O'Reilly 2012.
  2. I. Grigorik (2013): Browser Network, O'Reilly 2013.
  3. S. Souders (2009): Even Faster Web Sites, O'Reilly 2009.
  4. S. Casteleyn, I. Garrigo, J.Mazón (2014), Ten Years of Rich Internet Applications: A Systematic Mapping Study, and Beyond. ACM Transactions on the Web, Vol. 8, No. 3, Article 18.
  5. S. Vicencio, J. Navon (2014), JavaScript MV* Frameworks from a Performance Point of View. Journal of Web Engineering 2014.
  6. D. Graziotin and P. Abrahamsson (2013), Making Sense Out of a Jungle of JavaScript Frameworks: Towards a Practitioner-Friendly Comparative Analysis, Proceedings of the 14th International Conference, PROFES 2013, Paphos, Cyprus, June 12-14, 2013, pp. 334-337.
  7. D. Synodinos (2013), Top JavaScript MVC Frameworks, InfoQ, Available at: http://www.infoq.com/research/ top-javascript-mvc-frameworks (Accessed: 12 December 2014).
  8. A. B. Gizas, S. P. Christodoulou and T. S. Papatheodorou (2012), Comparative evaluation of javascript frameworks, In Proceedings of the 21st International Conference Companion on World Wide Web, pp. 513-514.
  9. A. Osmani and S. Sorhus (2014), TodoMVC, Available at: http://todomvc.com/ (Accessed 12 December 2014).
  10. J. J. Garret (2005), Ajax: A New Approach to Web Applications, Available at: http:// www.adaptivepath.com/ideas/ajax-new-approachweb-applications/ (Accessed: 12 December 2014).
  11. A. Mesbah and A. Van Deursen (2007), Migrating Multipage Web Applications to Single-page AJAX Interfaces. In Software Maintenance and Reengineering, 2007. CSMR'07. 11th European Conference, pp. 181-190.
  12. M. Takada (2012), Single page apps in depth, Available at: http://singlepageappbook.com/ (Accessed: 12 December 2014).
  13. H. Heitkötter, T. A. Majchrzak, B. Ruland, T. Webber (2013), Evaluating Frameworks for Creating Mobile Web Apps. Web Information Systems and Technologies 2013.
  14. A. Osmani (2013), Developing Backbone.js Applications, O'Reilly.
  15. A. Osmani (2012), Journey Through The JavaScript MVC Jungle, Smashing Magazine, Available at: http://coding.smashingmagazine.com/2012/07/27/jour ney-through-the-javascript-mvc-jungle/ (Accessed: 12 December 2014).
  16. D. Webb (2012), Improving performance on twitter.com, The Twitter Engineering Blog, Avail- able at: https://blog.twitter.com/2012/improving-performancetwittercom (Accessed: 12 December 2014).
  17. P. Meenan (2014), WebPagetest - Website Performance and Optimization Test. Available at: http:// www.webpagetest.org/ (Accessed 12 December 2014).
  18. A. Hidayat (2014), PhantomJS, Available at: http://phantomjs.org/ (Accessed 12 December 2014).
  19. J. Petersson (2012). Designing and implementing an architecture for single-page applications in Javascript and HTML5 (Master's thesis, Linköping University).
  20. J. Runeberg (2013), To-Do with JavaScript MV*: A study into the differences between Backbone. js and AngularJS (Degree Thesis, Arcada University of Applied Sciences).
  21. R. Gómez (2013), How Complex are TodoMVC Implementations, CodeStats Blog, Available at: http://blog.coderstats.net/todomvc-complexity/ (Accessed 12 December 2014).
  22. D. Nolen (2013), The Future of JavaScript MVC Frameworks, Available at: http://swannodette.github.io/2013/12/17/the-future-ofjavascript-mvcs/ (Accessed 12 December 2014).
  23. S. Souders (2014), Resouce timing, Available at: http://www.stevesouders.com/blog/2014/11/25/serious -confusion-with-resource-timing/ (Accessed: 18 December 2014).
Download


Paper Citation


in Harvard Style

Findel H. and Navon J. (2015). A Test Environment for Web Single Page Applications (SPA) . In Proceedings of the 11th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-758-106-9, pages 47-54. DOI: 10.5220/0005428000470054


in Bibtex Style

@conference{webist15,
author={Hans Findel and Jaime Navon},
title={A Test Environment for Web Single Page Applications (SPA)},
booktitle={Proceedings of the 11th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},
year={2015},
pages={47-54},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005428000470054},
isbn={978-989-758-106-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 11th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - A Test Environment for Web Single Page Applications (SPA)
SN - 978-989-758-106-9
AU - Findel H.
AU - Navon J.
PY - 2015
SP - 47
EP - 54
DO - 10.5220/0005428000470054