Evolution of Popularity and Multiaspectual Comparison of Widely Used Web Development Frameworks
Abstract
:1. Introduction
- Standardization: Web frameworks come with design patterns imposing certain standards in application design and their way of operation [8], which allows developers to focus on developing functionality rather than solving architectural problems, also leading to a better understanding and consistency in code. This moreover facilitates teamwork, allowing different developers to find their way around the project more easily. New team members can join the project faster. In addition, it supports code reuse [9].
- Easier portability: by introducing abstraction and separating the logical layer from the technical layer, an application based on the framework can be ported to other platforms or environments with relative ease [10].
- A responsive design: many frameworks provide built-in tools and components for developing responsive user interfaces, adapting to different screen sizes and devices [11].
- Improved security: Many frameworks provide built-in security mechanisms, such as protection against XSS (Cross-Site Scripting) or CSRF (Cross-Site Request Forgery) attacks [12]. This is especially important for inexperienced developers.
- Scalability: As a rule, frameworks are built and developed with scalability in mind [6]. The design patterns they are based on make it easy to expand the application as its complexity increases.
- Improved sustainability: Frameworks that are popular are regularly updated [13] to respond to new fads, technologies to be supported, or recently identified security vulnerabilities. This ensures that the costs incurred for ongoing software maintenance are minimized.
- Community support: popular frameworks have active user communities, which are not only sources of specialized knowledge, tutorials, and ready-to-use solutions but are also individuals that can be asked to help solve programming problems, and this can be asked via, e.g., Q&A websites such as Stack Overflow [14].
- RQ1.
- Do web frameworks undergo strong and rapid changes in their popularity?
- RQ2.
- Are the two considered indicators of web framework popularity consistent with each other?
- RQ3.
- Can one of the two considered indicators of web framework popularity be effectively used to forecast the other?
- RQ4.
- Are the considered indicators of web framework popularity in correspondence with the popularity of the programming language they are based on?
- RQ5.
- What are the key similarities and differences in the characteristics of the currently popular web frameworks?
2. Materials and Methods
2.1. Data Sources
- Beginner programmers, learning a given framework or writing their first software using it, are more likely to post questions on a Q&A website than experienced programmers;
- Conversely, experienced programmers are more likely to commit code to an open-source repository than beginner programmers;
- A framework that is difficult to master and is poorly documented is more likely to cause individuals to post questions on a Q&A website than one which is easy to use and well documented;
- Conversely, such a difficult-to-master and poorly documented framework is less likely to be used to develop open-source software.
2.2. Scope of the Analysis
2.3. Data Acquisition
- https://api.github.com/search/repositories?q=topic:{topic}+created:{date_from}..{date_to}
- {topic} is the GitHub topic relevant to the respective web framework (see Table 1),
- {date_from}..{date_to} is the period of time for which new repositories were created.
- https://api.github.com/search/repositories?q=language:asp.net+created:{date_from}..{date_to}
- {date_from}..{date_to} is the period of time for which new repositories were created.
- https://api.stackexchange.com/2.3/questions?fromdate={date_from}&todate={date_to}&tagged={tag}&site=stackoverflow&filter=!Nfq4bHcltk388
- {tag} is the Stack Overflow tag relevant to the respective web framework (see Table 1),
- {date_from}..{date_to} is the period of time for which the questions were counted.
2.4. Data Analysis
3. Results and Their Discussion
3.1. Multiaspectual Comparison of the Widely Used Web Frameworks
- The Key Area—the web development area which the given framework supports (either solely or most typically),
- The Software Layer—the side of the client–server model at which the framework is used,
- The Primary Architectural Pattern—the primary architectural design pattern used in developing software with a given framework,
- Primary Data Storage—the place typically used for permanent data storage when using a given framework,
- Internationalization—the way the support for developing localized and multilanguage versions of software is provided in a given framework,
- Security—the way the support for protecting against the most common hacking attacks is provided.
- XSS (Cross-Site Scripting)—the web application spreads malicious code injected into it by using a web form or a modified URL [34],
- Clickjacking—an invisible iframe is placed on a page with another visible object above it to capture the click event [35],
- CSRF (Cross-Site Request Forgery)—end users are forced to execute unwanted actions in a web application in which they are authenticated [36],
- DDoS (Distributed Denial of Service)—an attacker aims to block access to a server or service by flooding it with a large number of bogus requests [37],
- Remote Code Execution—an attacker remotely executes arbitrary code in the programming language in which the web application was written and/or a command of the operating system hosting the application [38].
- Although half of the analyzed most popular web frameworks are JavaScript frameworks (which is understandable considering the unique role of this particular language in web application front-end development as it is the only programming language natively supported by almost all contemporary web browsers), the remainder are based on other programming languages; note that although ASP.NET can employ any .NET language, we link it to C#, as recently most ASP.NET applications are developed in this programming language;
- Among the analyzed most popular web frameworks, half are dedicated for full-stack web development, four are specialized for web GUI development (including jQuery, which was conceived as a JavaScript-boosting framework), and one (node.js) provides a full-fledged runtime environment;
- Among the analyzed frameworks, five are back-end frameworks, four are front-end frameworks, and one is a back-end framework which can also be used for front-end development;
- The analyzed frameworks use different primary architectural design patterns, with MVC (Model View Controller [49]) being the most popular (4 of 10 frameworks, including its slight variation known as Model Template View [50]), followed by the event-driven architecture [51] (2 frameworks), the other being Flux [52] and MVVM (Model–View–ViewModel) [53], the component-based architecture [54]; the last case is ASP.NET: originally based on page-centric architecture, it now can also be used to implement the MVC-based applications [55];
- The Primary Data Storage used in the analyzed frameworks is a clear consequence of their front-end or back-end point of application;
- All the analyzed frameworks provide support for developing localized and multilanguage versions of software; however, seven of them have it out of the box, and the three remaining require a dedicated additional library for this purpose;
- The support for addressing security concerns greatly varies among the analyzed frameworks, being much higher for the back-end frameworks than for the front-end frameworks (note that “Not applicable” indicates that a front-end framework cannot help with certain types of attacks for which only a server-side defense mechanism would be adequate).
3.2. Evolution of Web Framework Popularity According to GitHub
- Rising stars that quickly gained a lot of popularity in recent years (React.js and Node.js);
- Steady climbers whose popularity kept growing for a number of years albeit at a far slower pace than that of the rising stars (Django, Angular, and Laravel);
- One which passed through ups and downs but recently attained its peak level (ASP.NET);
- Plateau occupiers whose rise to popularity happened a few years ago and stayed high since then (Vue.js, Flask, and jQuery);
- One whose popularity remained much below the top frameworks throughout the whole analyzed period and is clearly past its peak time now yet is still popular enough to be qualified in the top ten (Ruby on Rails).
3.3. Evolution of Web Framework Popularity According to Stack Overflow
- Three frameworks attained very high or high popularity but retained only a small fraction of it: jQuery (whose number of questions in 2022 was merely 11% of its top level of 2013), ASP.NET (16% of its 2013 level), and Ruby on Rails (17% of its 2020 level);
- Two frameworks attained high popularity and retained a good part of it: Node.js (86% of its 2020 level) and Django (77% of its 2020 level);
- The remaining frameworks are between the two above categories as their drop in the number of questions is not drastic, though still easily noticeable: Vue.js (70% of its 2020 level), Laravel (67% of its 2020 level), Flask (62% of its 2020 level), and Angular (48% of its 2018 level).
3.4. Comparing Web Framework Popularity between GitHub and Stack Overflow
- An increased number of people learning and trying a framework (visible in Stack Overflow) will turn into an increased number of users, part of which will contribute to open-source projects (visible in GitHub),
- An increased number of open-source projects developed by using a framework (visible in GitHub) will spark an increased number of developers trying to adopt and/or adapt them in their own projects who will encounter problems and ask the community about them (visible in Stack Overflow).
- The number of newly created repositories in GitHub could be used to forecast the number of questions posted in Stack Overflow for all frameworks except ASP.NET and Django;
- The number of questions posted in Stack Overflow could be used to forecast the number of newly created repositories in GitHub for all frameworks except ASP.NET and Ruby on Rails.
3.5. Web Framework Popularity in the Context of Programming Language Popularity
- The number of newly created repositories in GitHub could be used to forecast the TIOBE Index of the language that a given framework is addressing for six frameworks: Node.js, jQuery, Angular, Django, Flask, and Ruby on Rails;
- The TIOBE Index of the language that a given framework is addressing could be used to forecast the number of newly created repositories in GitHub by using that framework for all frameworks except ASP.NET and React.js.
- The number of questions posted on Stack Overflow could be used to forecast the TIOBE Index of the language that a given framework is addressing for six frameworks: Node.js, jQuery, ASP.NET, Django, Flask, and Ruby on Rails;
- The TIOBE Index of the language that a given framework is addressing could be used to forecast the number of questions posted on Stack Overflow regarding that framework also for six frameworks: jQuery, Angular, Vue.js, ASP.NET, Laravel, and Ruby on Rails.
3.6. Research Outlooks
3.7. Limitations
4. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Kumar, S.; Lim, W.M.; Pandey, N.; Christopher Westland, J. 20 years of Electronic Commerce Research. Electron. Commer. Res. 2021, 21, 1–40. [Google Scholar] [CrossRef]
- Ronchi, A.M. e-Services; Springer International Publishing: Cham, Switzerland, 2019. [Google Scholar] [CrossRef]
- Charalabidis, Y.; Loukis, E.; Alexopoulos, C.; Lachana, Z. The Three Generations of Electronic Government: From Service Provision to Open Data and to Policy Analytics. In Electronic Government; Lindgren, I., Janssen, M., Lee, H., Polini, A., Rodríguez Bolívar, M.P., Scholl, H.J., Tambouris, E., Eds.; Springer International Publishing: Cham, Switzerland, 2019; pp. 3–17. [Google Scholar]
- Raible, M.; Darwin, I.; Dewanto, L. The History of Web Frameworks Timeline. 2019. Available online: https://github.com/mraible/history-of-web-frameworks-timeline (accessed on 18 April 2023).
- Laaziri, M.; Benmoussa, K.; Khoulji, S.; Kerkeb, M.L. A Comparative study of PHP frameworks performance. Procedia Manuf. 2019, 32, 864–871. [Google Scholar] [CrossRef]
- del Pilar Salas-Zárate, M.; Alor-Hernández, G.; Valencia-García, R.; Rodríguez-Mazahua, L.; Rodríguez-González, A.; López Cuadrado, J.L. Analyzing best practices on Web development frameworks: The lift approach. Sci. Comput. Program. 2015, 102, 1–19. [Google Scholar] [CrossRef]
- Sarcar, V. Use the DRY Principle. In Simple and Efficient Programming with C#: Skills to Build Applications with Visual Studio and .NET; Apress: Berkeley, CA, USA, 2023; pp. 109–130. [Google Scholar] [CrossRef]
- Mehrab, Z.; Yousuf, R.B.; Tahmid, I.A.; Shahriyar, R. Mining Developer Questions about Major Web Frameworks. In Proceedings of the 14th International Conference on Web Information Systems and Technologies, Seville, Spain, 18–20 September 2018; pp. 191–198. [Google Scholar] [CrossRef]
- Muhammed, T.; Mehmood, R.; Abozinadah, E.; Sharaf, S. SelecWeb: A Software Tool for Automatic Selection of Web Frameworks. In Smart Infrastructure and Applications: Foundations for Smarter Cities and Societies; Mehmood, R., See, S., Katib, I., Chlamtac, I., Eds.; Springer International Publishing: Cham, Switzerland, 2020; pp. 329–346. [Google Scholar] [CrossRef]
- Stella, L.F.F.; Jarzabek, S.; Wadhwa, B. A comparative study of maintainability of web applications on J2EE, .NET and Ruby on Rails. In Proceedings of the 2008 10th International Symposium on Web Site Evolution, Beijing, China, 3–4 October 2008; pp. 93–99. [Google Scholar] [CrossRef]
- Glassman, N.R.; Shen, P. One Site Fits All: Responsive Web Design. J. Electron. Resour. Med. Libr. 2014, 11, 78–90. [Google Scholar] [CrossRef]
- Aborujilah, A.; Adamu, J.; Shariff, S.M.; Awang Long, Z. Descriptive Analysis of Built-in Security Features in Web Development Frameworks. In Proceedings of the 2022 16th International Conference on Ubiquitous Information Management and Communication (IMCOM), Seoul, Republic of Korea, 3–5 January 2022; pp. 1–8. [Google Scholar] [CrossRef]
- Kaluža, M.; Troskot, K.; Vukelić, B. Comparison of front-end frameworks for web applications development. J. Polytech. Rij. 2018, 6, 261–282. [Google Scholar] [CrossRef]
- Stack Overflow. Stack Overflow–Where Developers Learn, Share, & Build Careers. 2023. Available online: https://stackoverflow.com/ (accessed on 19 April 2023).
- Kaluža, M.; Kalanj, M.; Vukelić, B. A comparison of back-end frameworks for web application development. J. Polytech. Rij. 2019, 7, 317–332. [Google Scholar] [CrossRef]
- Mishra, S.; Srivastava, S. Web development frameworks and its performance analysis—A review. In Smart Computing, 1st ed.; Khan, M.A., Gairola, S., Jha, B., Praveen, P., Eds.; CRC Press: London, UK, 2021; pp. 337–343. [Google Scholar] [CrossRef]
- Ollila, R.; Mäkitalo, N.; Mikkonen, T. Modern Web Frameworks: A Comparison of Rendering Performance. J. Web Eng. 2022, 21, 789–814. [Google Scholar] [CrossRef]
- Kopyl, P.; Rozaliuk, T.; Smołka, J. Comparison of ASP.NET Core and Spring Boot ecosystems. J. Comput. Sci. Inst. 2022, 22, 40–45. [Google Scholar] [CrossRef]
- Singleton, J.L.; Leavens, G.T. Verily: A Web Framework for Creating More Reasonable Web Applications. In Proceedings of the ICSE ’14: 36th International Conference on Software Engineering, New York, NY, USA, 31 May–7 June 2014; pp. 560–563. [Google Scholar] [CrossRef]
- Klochkov, D.; Mulawka, J. Improving Ruby on Rails-Based Web Application Performance. Information 2021, 12, 319. [Google Scholar] [CrossRef]
- bin Uzayr, S.; Cloud, N.; Ambler, T. JavaScript Frameworks for Modern Web Development: The Essential Frameworks, Libraries, and Tools to Learn Right Now; Apress: Berkeley, CA, USA, 2019. [Google Scholar] [CrossRef]
- TIOBE. TIOBE Index for April 2023. 2023. Available online: https://www.tiobe.com/tiobe-index/ (accessed on 19 April 2023).
- OSS Insight. Trends and Insights from GitHub 2022. 2023. Available online: https://ossinsight.io/blog/trends-and-insights-from-github-2022/#top-languages-in-the-open-source-world-over-the-past-four-years (accessed on 25 July 2023).
- Sobral, S.R. 30 years of CS1: Programming languages evolution. In Proceedings of the ICERI2019 Proceedings, Seville, Spain, 11–13 November 2019; pp. 9197–9205. [Google Scholar] [CrossRef]
- Swacha, J. Programming Languages in Education: 50 Years of Evolution as Evidenced by Literature. In Proceedings of the SIGCSE 2023: 54th ACM Technical Symposium on Computer Science Education V. 2, New York, NY, USA, 15–18 March 2023; p. 1385. [Google Scholar] [CrossRef]
- Vailshery, L.S. Most Popular Web Frameworks among Developers Worldwide 2022. 2022. Available online: https://www.statista.com/statistics/1124699/worldwide-developer-survey-most-used-frameworks-web/ (accessed on 18 April 2023).
- Google. Google Trends. 2023. Available online: https://trends.google.com/ (accessed on 25 July 2023).
- GitHub. GitHub: Let’s Build from Here. 2023. Available online: https://github.com/ (accessed on 25 July 2023).
- McKinney, W. Python for Data Analysis, 3rd ed.; O’Reilly: Sebastopol, CA, USA, 2022. [Google Scholar]
- Parsonson, B.S.; Baer, D.M.; Kratochwill, T.R.; Levin, J.R. The visual analysis of data, and current research into the stimuli controlling it. In Single-Case Research Design and Analysis: New Directions for Psychology and Education; Routledge: London, UK, 2015; pp. 15–40. [Google Scholar]
- Gaydecki, P. Foundations of Digital Signal Processing: Theory, Algorithms and Hardware Design; Institution of Electrical Engineers: London, UK, 2004. [Google Scholar]
- Granger, C.W.J. Investigating Causal Relations by Econometric Models and Cross-spectral Methods. Econometrica 1969, 37, 424. [Google Scholar] [CrossRef]
- McGreggor, D.M. Mastering Matplotlib, 1st ed.; Packt Publishing: Birmingham, UK, 2015. [Google Scholar]
- Weamie, S.J. Cross-Site Scripting Attacks and Defensive Techniques: A Comprehensive Survey. Int. J. Commun. Netw. Syst. Sci. 2022, 15, 126–148. [Google Scholar] [CrossRef]
- Sahani, R.; Randhawa, S. Clickjacking: Beware of clicking. Wirel. Pers. Commun. 2021, 121, 2845–2855. [Google Scholar] [CrossRef]
- Coram, M. Cross-Site Request Forgery Challenges and Solutions; Technical Report; Sandia National Lab. (SNL-NM): Albuquerque, NM, USA, 2019. [Google Scholar]
- Singh, A.; Gupta, B.B. Distributed denial-of-service (DDoS) attacks and defense mechanisms in various web-enabled computing platforms: Issues, challenges, and future research directions. Int. J. Semant. Web Inf. Syst. (IJSWIS) 2022, 18, 1–43. [Google Scholar] [CrossRef]
- Biswas, S.; Sohel, M.; Sajal, M.M.; Afrin, T.; Bhuiyan, T.; Hassan, M.M. A study on remote code execution vulnerability in web applications. In Proceedings of the International Conference on Cyber Security and Computer Science (ICONCS 2018), Karabuk, Turkey, 18–20 October 2018; pp. 50–57. [Google Scholar]
- OpenJS Foundation. Documentation Node.js. Available online: https://nodejs.org/en/docs (accessed on 25 June 2023).
- MetaOpenSource. Built-in React Hooks–React. Available online: https://react.dev/reference/react (accessed on 25 June 2023).
- OpenJS Foundation. jQuery UI. Available online: https://jqueryui.com/ (accessed on 25 June 2023).
- Google. Introduction to the Angular Docs. Available online: https://angular.io/docs (accessed on 25 June 2023).
- You, E. Glossary Vue.js. Available online: https://vuejs.org/glossary/ (accessed on 25 June 2023).
- Microsoft. ASP.NET Documentation. Available online: https://learn.microsoft.com/en-us/aspnet/core/?view=aspnetcore-7.0&WT.mc_id=dotnet-35129-website (accessed on 25 June 2023).
- Django Software Foundation. Django Documentation. Available online: https://docs.djangoproject.com/en/4.2/ (accessed on 25 June 2023).
- Pallets. Flask Documentation 2.3.x. Available online: https://flask.palletsprojects.com/en/2.3.x/ (accessed on 25 June 2023).
- Laravel LLC. Laravel Documentation. Available online: https://laravel.com/docs/10.x (accessed on 25 June 2023).
- Foundation, T.R. The Rails Foundation. Available online: https://guides.rubyonrails.org/ (accessed on 25 June 2023).
- Leff, A.; Rayfield, J. Web-application development using the Model/View/Controller design pattern. In Proceedings of the Fifth IEEE International Enterprise Distributed Object Computing Conference, Seattle, WA, USA, 4–7 September 2001; pp. 118–127. [Google Scholar] [CrossRef]
- Shadhin, F. The MVT Design Pattern of Django. 2021. Available online: https://python.plainenglish.io/the-mvt-design-pattern-of-django-8fd47c61f582 (accessed on 25 July 2023).
- Michelson, B.M. Event-driven architecture overview. Patricia Seybold Group Res. Serv. 2006, 2, 10–1571. [Google Scholar]
- Boduch, A. Flux Architecture; Packt Publishing Ltd.: Birmingham, UK, 2016. [Google Scholar]
- Li, N.; Zhang, B. The research on single page application front-end development based on Vue. In Journal of Physics: Conference Series; IOP Publishing: Bristol, UK, 2021; Volume 1883, p. 012030. [Google Scholar]
- Yigitbas, E.; Josifovska, K.; Jovanovikj, I.; Kalinci, F.; Anjorin, A.; Engels, G. Component-based development of adaptive user interfaces. In Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems, Valencia, Spain, 18–21 June 2019; pp. 1–7. [Google Scholar]
- Freeman, A. Pro ASP.NET Core MVC; Apress: Berkeley, CA, USA, 2016. [Google Scholar] [CrossRef]
- Jamsheer, K. Best PHP Frameworks for Web Development in 2022. 2022. Available online: https://acodez.in/best-php-frameworks/ (accessed on 18 April 2023).
- Carlson, L.; Richardson, L. Ruby Cookbook, 1st ed.; O’Reilly: Beijing, China; Sebastopol, CA, USA, 2006. [Google Scholar]
Framework | GitHub Topic | Stack Overflow Tag | Programming Language |
---|---|---|---|
Node.js | nodejs | node.js | JavaScript |
React.js | react | reactjs | JavaScript |
jQuery | jquery | jquery | JavaScript |
Angular | angular | angular | JavaScript |
Vue.js | vue | vue.js | JavaScript |
ASP.NET | aspnet | asp.net | C# |
Django | django | django | Python |
Flask | flask | flask | Python |
Laravel | laravel | laravel | PHP |
Ruby on Rails | rails | ruby-on-rails | Ruby |
JavaScript (1995) | ||||||
---|---|---|---|---|---|---|
Node.js (2009) | React.js (2013) | jQuery (2006) | Angular (2016) | Vue.js (2014) | ||
Key Area | Runtime Environment | GUI | JS booster GUI | GUI | GUI | |
Software Layer | Back end (Front-end lib) | Front end | Front end | Front end | Front end | |
Primary Architectural Pattern | Event driven | Flux | Event driven | Component based | MVVM | |
Primary Data Storage | SQL/NOSQL | Browser local storage | Browser local storage | Browser local storage | Browser local storage | |
Internationalization | Built in | Add. library | Add. library | Built in | Built in | |
Security | XSS | Add. library | Built in | No | Built in | Built in |
Clickjacking | No | No | No | No | No | |
CSRF | Add. library | No | Add. library | Built in | No | |
DDoS | No | Not applicable | Not applicable | Not applicable | Not applicable | |
Remote Code Execution | No | No | No | No | Built in |
C# (2000)/.NET | Python (1991) | PHP (1995) | Ruby (1995) | |||
---|---|---|---|---|---|---|
ASP.NET (2002) | Django (2005) | Flask (2010) | Laravel (2011) | Ruby on Rails (2004) | ||
Key Area | Full-stack framework | Full-stack framework | Microframework | Full-stack framework | Full-stack framework | |
Software Layer | Back end | Back end | Back end | Back end | Back end | |
Primary Architectural Pattern | Page centric/MVC | MVC (MTV) | MVC | MVC | MVC | |
Primary Data Storage | SQL/ORM | SQL/ORM | SQL/ORM | SQL/ORM | SQL/ORM | |
Internationalization | Built in | Built in | Add. library | Built in | Built in | |
Security | XSS | Built in | Built in | Add. library | Built in | Built in |
Clickjacking | Built in | Built in | Add. library | Built in | Built in | |
CSRF | Built in | Built in | Add. library | Built in | Built in | |
DDoS | No | Built in | Add. library | Add. library | No | |
Remote Code Execution | Built in | Built in | No | Built in | Built in |
Framework | GitHub → Stack Overflow | Stack Overflow → GitHub |
---|---|---|
Node.js | 0.0000 | 0.0010 |
React.js | 0.0000 | 0.0000 |
jQuery | 0.0000 | 0.0062 |
Angular | 0.0187 | 0.0000 |
Vue.js | 0.0000 | 0.0000 |
ASP.NET | 0.2847 | 0.1288 |
Django | 0.1499 | 0.0020 |
Flask | 0.0267 | 0.0000 |
Laravel | 0.0000 | 0.0000 |
Ruby on Rails | 0.0000 | 0.0837 |
Framework | GitHub → TIOBE | TIOBE → GitHub |
---|---|---|
Node.js | 0.0374 | 0.0158 |
React.js | 0.0687 | 0.0945 |
jQuery | 0.0297 | 0.0079 |
Angular | 0.0298 | 0.0051 |
Vue.js | 0.0776 | 0.0272 |
ASP.NET | 0.0885 | 0.4078 |
Django | 0.0000 | 0.0021 |
Flask | 0.0000 | 0.0001 |
Laravel | 0.5419 | 0.0007 |
Ruby on Rails | 0.2038 | 0.0000 |
Framework | Stack Overflow → TIOBE | TIOBE → Stack Overflow |
---|---|---|
Node.js | 0.0000 | 0.0921 |
React.js | 0.2612 | 0.0946 |
jQuery | 0.0000 | 0.0377 |
Angular | 0.1465 | 0.0026 |
Vue.js | 0.0741 | 0.0056 |
ASP.NET | 0.0000 | 0.0022 |
Django | 0.0001 | 0.5549 |
Flask | 0.0000 | 0.0715 |
Laravel | 0.1394 | 0.0000 |
Ruby on Rails | 0.0125 | 0.0000 |
RQ | Contribution | Future Work Directions |
---|---|---|
1 | Confirming that web frameworks undergo strong and rapid changes in popularity | Investigating causes of these changes |
2 | Showing that the two considered indicators of web framework popularity are only partly consistent with each other (aligning only for specific frameworks and/or specific periods) | Developing an aggregate popularity indicator that would combine these and possibly other factors |
3 | Showing that neither of the two considered indicators of web framework popularity can be treated as always preceding the other | Search for other indicators that would be capable of reliably predicting the changes in web framework popularity |
4 | Showing that both the considered indicators of web framework popularity are in correspondence with the popularity of the programming language they are based on, but there are exceptions to this rule | Investigating causes of such exceptions |
5 | Showing that there are no clear patterns in the characteristics of the currently popular web frameworks | Search for factors that could be effective in forecasting framework popularity |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Swacha, J.; Kulpa, A. Evolution of Popularity and Multiaspectual Comparison of Widely Used Web Development Frameworks. Electronics 2023, 12, 3563. https://doi.org/10.3390/electronics12173563
Swacha J, Kulpa A. Evolution of Popularity and Multiaspectual Comparison of Widely Used Web Development Frameworks. Electronics. 2023; 12(17):3563. https://doi.org/10.3390/electronics12173563
Chicago/Turabian StyleSwacha, Jakub, and Artur Kulpa. 2023. "Evolution of Popularity and Multiaspectual Comparison of Widely Used Web Development Frameworks" Electronics 12, no. 17: 3563. https://doi.org/10.3390/electronics12173563
APA StyleSwacha, J., & Kulpa, A. (2023). Evolution of Popularity and Multiaspectual Comparison of Widely Used Web Development Frameworks. Electronics, 12(17), 3563. https://doi.org/10.3390/electronics12173563