Developing a cross-platform MVP app with React Native
Nylund, Thomas (2020)
Nylund, Thomas
2020
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020122229885
https://urn.fi/URN:NBN:fi:amk-2020122229885
Tiivistelmä
This thesis describes the development of a minimum-viable-product (MVP) app with the React Native cross-platform framework for the Android and iOS platforms. These platforms dominate the app economy and to reach as many users as possible, developers have to create one app for each platform. This requires them to learn two very different development ecosystems, with different programming languages and tools. This increases development time and cost, making it unfeasible for many individuals and small businesses. Cross-platform frameworks offer a solution by allowing developers to create one app that can be distributed on multiple platforms. When developing apps, developers often rely on software development theory to support them during the development process, but how well does the theory support smaller projects that might only have one developer. By developing an app, the objective of this thesis is to find out how well software development theory supports a sole developer building an MVP app, how useful the React Native framework is for a sole developer building their first cross-platform app, and how much of the code can be shared across the two target platforms. The theoretical part of the thesis will look at software development process theory, with a closer look at two software development models: plan-driven and incremental development. In addition, we will discuss the MVP approach and how that influences product development. We also discuss mobile app development, with a closer look at cross-platform apps and React Native to give the reader an understanding of the available technologies in the space and why one framework was chosen over another. In the practical part, we will walk the reader through the development of the app and its key elements, and many of the decisions that were made in the process. The results of the work show that software development theory has limited value for small-scale software projects, like the case app, and that software cookbooks are more helpful to inexperienced cross-platform app developers. In addition, we found that React Native is a great framework for a sole developer familiar with JavaScript and React. It allows the developer to leverage much of their existing knowledge to develop a low-cost MVP smartphone app that can be published natively to two platforms, allowing the development of even niche applications to be profitable. In the end, the case app shared almost all of the codebase between the two target platforms.