Increasing Full Stack Development Productivity via Technology Selection
Koder, Mike (2021)
Koder, Mike
2021
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021120123079
https://urn.fi/URN:NBN:fi:amk-2021120123079
Tiivistelmä
Building web application prototypes is a common project type for consulting companies. Developers can
have hard time selecting the best technologies from dozens of options. The primary objective was to find
backend and frontend technologies to improve the productivity of full stack development. The secondary
goals were determining the extent of features available in modern frontend and backend technologies and
studying which are the most significant features for technology evaluation.
Research papers on software development productivity were analyzed to find factors suitable for guiding
the technology selection process. The most popular programming languages and their web frameworks and
libraries were collected for comparative analysis. Technologies’ features were gathered from official
documentation websites to gain a good understanding of the spectrum of features. Finally, technologies
were compared by how well each feature was supported.
Reuse, adequate documentation, automatization and community support were identified to be the few
productivity factors relevant for technology selection process. JavaScript, TypeScript, Python, C#, Java and
PHP were found to be the most popular programming languages for web development. Feature
comparison revealed backend technologies having great differences in the available features. Especially
request binding and the ability to automatically infer OpenAPI documentation were detected to reduce
manual repetitive work. ASP.NET Core, NestJS, Laravel, FastAPI and Spring were found to be the most
feature rich frameworks for different programming languages. Frontend technologies were found to have
only minor differences.
Comparison results can be used to evaluate technologies for new full stack development projects today.
The feature evaluation process can also be utilized in the future to compare how well new technologies
measure up with prior ones.
have hard time selecting the best technologies from dozens of options. The primary objective was to find
backend and frontend technologies to improve the productivity of full stack development. The secondary
goals were determining the extent of features available in modern frontend and backend technologies and
studying which are the most significant features for technology evaluation.
Research papers on software development productivity were analyzed to find factors suitable for guiding
the technology selection process. The most popular programming languages and their web frameworks and
libraries were collected for comparative analysis. Technologies’ features were gathered from official
documentation websites to gain a good understanding of the spectrum of features. Finally, technologies
were compared by how well each feature was supported.
Reuse, adequate documentation, automatization and community support were identified to be the few
productivity factors relevant for technology selection process. JavaScript, TypeScript, Python, C#, Java and
PHP were found to be the most popular programming languages for web development. Feature
comparison revealed backend technologies having great differences in the available features. Especially
request binding and the ability to automatically infer OpenAPI documentation were detected to reduce
manual repetitive work. ASP.NET Core, NestJS, Laravel, FastAPI and Spring were found to be the most
feature rich frameworks for different programming languages. Frontend technologies were found to have
only minor differences.
Comparison results can be used to evaluate technologies for new full stack development projects today.
The feature evaluation process can also be utilized in the future to compare how well new technologies
measure up with prior ones.