Developing a full stack mobile application
Liao-Mäkinen, Shan (2023)
Liao-Mäkinen, Shan
2023
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202305088234
https://urn.fi/URN:NBN:fi:amk-202305088234
Tiivistelmä
This thesis explores software development from the perspective of developing a full stack mobile application for the Google and Apple marketplaces and devices in the year 2023. The work begins with an introduction to the topic and presentation of the objectives. There is also an explanation to some premade choices such as JavaScript as the main programming language and the objective to use one shared codebase for both marketplaces.
After this, a short overview of the history of mobile software development is presented, followed by the theoretical framework for this thesis. The historical part goes over a short his-tory of where touch screen enabled devices that we use today came from. It starts from the SMS-text message based mobile phones of the past and also has a small look into the future of mobile technology.
The theoretical framework part of the thesis will first explain the methodology chosen for this thesis, which are literary review and comparative analysis. The first topic to be re-viewed is the mobile frontend framework of the application and choices that are available. Various comparisons are performed, and a choice as well based on the data available. Next is the comparison and reasoning behind the choices of the backend. As JavaScript is a locked in premade technology choice from narrowing the scope of the thesis, this means JavaScript runtimes such as NodeJS are considered for the backend tool of choice. Various frameworks to combine both are also compared like React-Native, Flutter, Xamarin and Apache Cordova. Following the backend is the database comparison, where a few options on the market are compared from a popularity standpoint as well as suitability with JavaScript native formats such as JSON. Alternatives such as MySQL, MariaDB and PostgreSQL are considered.
After this there is an introduction into what a web server is, how they were developed and what are the different choices are available for making an application based on JavaScript and web-technologies. There are performance considerations that are shown when choosing the right web server for this application, the comparisons are mostly between Apache and Nginx.
As the second last part comes the empirical part of how the programming work proceeded and what happened during development of the application and what choices were made.
Finally, a discussion part goes through what was learned during the development work and what could have been done differently, or what could be improved upon in the future, concluding into a thank you note for the reader of this thesis.
After this, a short overview of the history of mobile software development is presented, followed by the theoretical framework for this thesis. The historical part goes over a short his-tory of where touch screen enabled devices that we use today came from. It starts from the SMS-text message based mobile phones of the past and also has a small look into the future of mobile technology.
The theoretical framework part of the thesis will first explain the methodology chosen for this thesis, which are literary review and comparative analysis. The first topic to be re-viewed is the mobile frontend framework of the application and choices that are available. Various comparisons are performed, and a choice as well based on the data available. Next is the comparison and reasoning behind the choices of the backend. As JavaScript is a locked in premade technology choice from narrowing the scope of the thesis, this means JavaScript runtimes such as NodeJS are considered for the backend tool of choice. Various frameworks to combine both are also compared like React-Native, Flutter, Xamarin and Apache Cordova. Following the backend is the database comparison, where a few options on the market are compared from a popularity standpoint as well as suitability with JavaScript native formats such as JSON. Alternatives such as MySQL, MariaDB and PostgreSQL are considered.
After this there is an introduction into what a web server is, how they were developed and what are the different choices are available for making an application based on JavaScript and web-technologies. There are performance considerations that are shown when choosing the right web server for this application, the comparisons are mostly between Apache and Nginx.
As the second last part comes the empirical part of how the programming work proceeded and what happened during development of the application and what choices were made.
Finally, a discussion part goes through what was learned during the development work and what could have been done differently, or what could be improved upon in the future, concluding into a thank you note for the reader of this thesis.