Empirical Software Engineering

, Volume 23, Issue 6, pp 3503–3534 | Cite as

Factors and actors leading to the adoption of a JavaScript framework

  • Amantia Pano
  • Daniel GraziotinEmail author
  • Pekka Abrahamsson


The increasing popularity of JavaScript has led to a variety of JavaScript frameworks that aim to help developers to address programming tasks. However, the number of JavaScript frameworks has risen rapidly to thousands of versions. It is challenging for practitioners to identify the frameworks that best fit their needs and to develop new ones which fit such needs. Furthermore, there is a lack of knowledge regarding what drives developers toward the choice. This paper explores the factors and actors that lead to the choice of a JavaScript framework. We conducted a qualitative interpretive study of semi-structured interviews. We interviewed 18 decision makers regarding the JavaScript framework selection, up to reaching theoretical saturation. Through coding of the interview responses, we offer a model of desirable JavaScript framework adoption factors. The factors are grouped into categories that are derived via the Unified Theory of Acceptance and Use of Technology. The factors are performance expectancy (performance, size), effort expectancy (automatization, learnability, complexity, understandability), social influence (competitor analysis, collegial advice, community size, community responsiveness), facilitating conditions (suitability, updates, modularity, isolation, extensibility), and price value. A combination of four actors, which are customer, developer, team, and team leader, leads to the choice. Our model contributes to the body of knowledge related to the adoption of technology by software engineers. As a practical implication, our model is useful for decision makers when evaluating JavaScript frameworks, as well as for developers for producing desirable frameworks.


JavaScript Programming frameworks Decision making Technology adoption Human aspects of software development Qualitative research Interpretivism 



We would like to thank all the participants of this study.

Our gratitude goes to the editor and three anonymous reviewers whose feedback improved our original efforts immeasurably.

Daniel Graziotin has been supported by the Alexander von Humboldt (AvH) Foundation.


  1. AngularJS (2017) Angularjs.
  2. Atkins TJ, Etemad EJ, Rivoal F (2015), Css snapshot 2015. Tech. rep. W3C.
  3. Bennett J (2007) Choosing a JavaScript library.
  4. Cheung SC, Orso A, Storey MA (eds) (2014) Software developers’ perceptions of productivity. In: The 22nd ACM SIGSOFT international symposium. ACM Press, New YorkGoogle Scholar
  5. Craver N (2017) New York is so cool for programmers, they even have this sign that keeps track of how many javascript frameworks are out there.
  6. Creswell JW (2009) Research design: qualitative, quantitative, and mixed method approaches, 3 edn, vol 2. Sage Publications, Thousand OaksGoogle Scholar
  7. Cunha J, Moura HP, Vasconcellos F (2016) Decision-making in software project management: a systematic literature review. Procedia Comput Sci 100:947–954CrossRefGoogle Scholar
  8. Davis FD, Bagozzi RP, Warshaw PR (1989) User acceptance of computer technology: a comparison of two theoretical models. Manag Sci 35(8):982–1003CrossRefGoogle Scholar
  9. (2017)
  10. Dojo (2017) Dojo.
  11. Doukakis S, Giannakos MN, Koilias C, Vlamos P (2013) Measuring students– acceptance and confidence on algorithms and programming: the impact of the engagement with cs on secondary education. Inf Educ 12(2):207–219Google Scholar
  12. Dreyfus HL, Dreyfus SE, Zadeh LA (1987) Mind over machine: the power of human intuition and expertise in the era of the computer. IEEE Exp 2. CrossRefGoogle Scholar
  13. Easterbrook S, Singer J, Storey MA, Damian D (2008) Selecting empirical methods for software engineering research. In: Guide to advanced empirical software engineering. Springer, Berlin, pp 285–311, (to appear in print), CrossRefGoogle Scholar
  14. Facebook (2017) Facebook.
  15. Fagerholm F, Ikonen M, Kettunen P, Münch J, Roto V, Abrahamsson P (2015) Performance alignment work: how software developers experience the continuous adaptation of team performance in lean and agile environments. Inf Softw Technol 64:132–147CrossRefGoogle Scholar
  16. Fayad M, Schmidt DC (1997) Object-oriented application frameworks. Commun ACM 40(10):32–38. CrossRefGoogle Scholar
  17. Garrett JJ (2005) Ajax: a new approach to web applications. Available at
  18. Geertz C (1973) The interpretation of cultures: selected essays, vol 1. Basic Books, New YorkGoogle Scholar
  19. Github (2017)
  20. Gizas AB, Christodoulou SP, Papatheodorou TS (2012) Comparative evaluation of javascript frameworks. In: Proceedings of the 21st international conference companion on World Wide Web, pp 513–514Google Scholar
  21. Glaser BG (2014) Choosing grounded theory. Grounded Theory Rev 13(2):3–19Google Scholar
  22. Google (2017) Google plus.
  23. Graziotin D, Abrahamsson P (2013) Making sense out of a jungle of javascript frameworks—towards a practitioner-friendly comparative analysis. In: Product-focused software process improvement—14th international conference, PROFES 2013, Paphos, Cyprus, June 12–14, 2013. Proceedings., pp 334–337CrossRefGoogle Scholar
  24. Guest G (2006) How many interviews are enough?: An experiment with data saturation and variability. Field Methods 18(1):59–82. CrossRefGoogle Scholar
  25. Halstead M (1977) Elements of software science (operating and programming systems series). Elsevier Science Inc., New YorkzbMATHGoogle Scholar
  26. Hardgrave B, Johnson R (2003) Toward an information systems development acceptance model: the case of object-oriented systems development. IEEE Trans Eng Manag 50(3):322–336CrossRefGoogle Scholar
  27. Heath H, Cowley S (2004) Developing a grounded theory approach: a comparison of glaser and strauss. Int J Nurs Stud 41(2):141–150CrossRefGoogle Scholar
  28. Hong W, Thong JYL, Chasalow LC, Dhillon G (2011) User acceptance of agile information systems: a model and empirical test. J Manag Inf Syst 28(1):235–272CrossRefGoogle Scholar
  29. (2017) Most starred github repositories.
  30. Idemudia EC, Dasuki SI, Ogedebe P (2016) Factors that influence students– programming skills: a case study from a nigerian university. IJQRE 3(4):277CrossRefGoogle Scholar
  31. International Q (2012) Nvivo 10.
  32. jQuery (2017) jquery.
  33. (2017)
  34. (2017)
  35. Kettunen P (2013) The many facets of high-performing software teams: a capability-based analysis approach. In: Systems, software and services process improvement, pp 131–142Google Scholar
  36. Klein HK, Myers MD (1999) A set of principles for conducting and evaluating interpretive field studies in information systems. MIS Q. - Special issue on intensive research in information systems 23(1):67. CrossRefGoogle Scholar
  37. Langley A (1999) Strategies for theorizing from process data. Acad Manag Rev 24(4):691. CrossRefGoogle Scholar
  38. LinkedIn (2017) Linkedin.
  39. McCabe TJ (1976) A complexity measure. IEEE Trans Softw Eng (4):308–320MathSciNetCrossRefGoogle Scholar
  40. McNamara C (1999) General guidelines for conducting interviews. In: Field guide to consulting and organizational development. Authenticity Consulting, LLC.
  41. Misra S, Cafer F (2012) Estimating quality of JavaScript. Int Arab J Inf Technol 9:535–543Google Scholar
  42. Mohr LB (1982) Explaining organizational behavior. Jossey-Bass Inc, San FranciscoGoogle Scholar
  43. MooTools (2017) Mootools.
  44. NodeJS (2017) Nodejs.
  45. Ocariza F, Bajaj K, Pattabiraman K, Mesbah A (2013) An empirical study of client-side JavaScript Bugs. In: 2013 ACM IEEE international symposium on empirical software engineering and measurement, pp 55–64,, (to appear in print)
  46. Papadopoulos GA, Kuflik T, Chen F, Duarte C, Fu WT (eds) (2017) GUI design for IDE command recommendations, vol. the 22nd international conference. ACM Press, New YorkGoogle Scholar
  47. Pfeffer J (1983) Reviewed work: explaining organizational behavior. By Lawrence B. Mohr. Adm Sci Q 28(2):321. CrossRefGoogle Scholar
  48. Polančič G, Heričko M, Rozman I (2010) An empirical examination of application frameworks success based on technology acceptance model. J Syst Softw 83 (4):574–584CrossRefGoogle Scholar
  49. Prototype (2017) Prototype.
  50. Reyes J (2010) How to Choose a Right JavaScript Framework.
  51. Robins A, Rountree J, Rountree N (2003) Learning and teaching programming: a review and discussion. Comput Sci Educ 13:137–172. CrossRefGoogle Scholar
  52. Stefi A (2015) Do developers make unbiased decisions?—the effect of mindfulness and not-invented-here bias on the adoption of software components. ECIS 2015 Completed Research Papers, p 175Google Scholar
  53. Stol KJ, Ralph P, Fitzgerald B (2016) Grounded theory in software engineering research. In: The 38th international conference, pp 120–131Google Scholar
  54. Strauss A, Corbin J (1994) Grounded theory methodology. Handb Qual Res 17:273–285Google Scholar
  55. Strauss A, Corbin J (1998) Basics of qualitative research: techniques and procedures for developing grounded theory. SAGE Publications Inc, Thousand OaksGoogle Scholar
  56. Strauss A, Corbin J (2008) Basics of qualitative research, 3rd edn: techniques and procedures for developing grounded theory, vol 3. SAGE Publications, Inc., Thousand Oaks.
  57. test MSS (2017) Mootools slick speed test.
  58. Twitter (2017) Twitter.
  59. Van De Ven AH, Poole MS (1995) Explaining development and change in organizations. Acad Manag Rev 20(3):510–540CrossRefGoogle Scholar
  60. van Kesteren A, Aubourg J, Song J, Steen HRM (2014) Xmlhttprequest level 1. Tech. rep., W3C.
  61. van Kesteren A, Gregor A, Ms2ger, Russell A, Berjon R (2015) W3c dom4. Tech. rep. W3C.
  62. Venkatesh V, Morris MG, Davis GB, Davis FD (2003) User acceptance of information technology: toward a unified view. MIS Q 27(3):425–478CrossRefGoogle Scholar
  63. Venkatesh V, Thong JYL, Xu X (2012) Consumer acceptance and use of information technology: extending the unified theory of acceptance and use of technology. MIS Q 36(1):157–178CrossRefGoogle Scholar
  64. Vishwanath A, Harrison B, Ng JY (2016) Understanding how social-behavioural science theory can explain the design of software websites, vol. 2016. In: 49th Hawaii international conference on system sciences (HICSS). IEEEGoogle Scholar
  65. W3Techs (2014) Web Technology Surveys - Usage of JavaScript for websites.
  66. Walsh D (2007) 8 Considerations for choosing your JavaScript framework.
  67. Walsham G (2006) Doing interpretive research. Eur J Inf Syst 320–330. CrossRefGoogle Scholar
  68. Williams MD, Rana NP, Dwivedi YK (2015) The unified theory of acceptance and use of technology (utaut): a literature review. J Enterp Inf Manag 28(3):443–488CrossRefGoogle Scholar
  69. YUI (2017) Yui.

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Faculty of Computer ScienceFree University of Bozen-BolzanoBolzanoItaly
  2. 2.Institute of Software TechnologyUniversity of StuttgartStuttgartGermany
  3. 3.Faculty of Information TechnologyUniversity of JyväskyläJyväskyläFinland

Personalised recommendations