Mobile App Development Using Kotlin Multiplatform
Guśpiel, Michał (2024)
Guśpiel, Michał
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202404237210
https://urn.fi/URN:NBN:fi:amk-202404237210
Tiivistelmä
The objective of this thesis was to evaluate Kotlin Multiplatform (KMP) technology in the context of mobile application development. KMP, when compared to other cross-platform technologies such as Flutter and React Native, is a relatively new and unexplored framework that enables developers to share codebase across Android, iOS, Desktop and Web platforms. This research directly benefits the client company, by enhancing their knowledge of modern mobile development. The beneficiary, Solita, is an IT consulting company that aims to create impact, by combining tech, data and human insight. This thesis could positively impact the company’s future offerings, tenders and projects.
This thesis report presents an evaluation of technology through the development of a simple patient monitoring application. This specific use case not only adds a distinctive business edge to the study but also aligns with Solita’s industry-specific business expertise. By applying this use case to the evaluation, this thesis aims to provide valuable insights into the effectiveness of the technology within the healthcare domain. Methods of evaluation include quantitative analysis of the codebase, and performance testing, allowing for comprehensive assessment of KMP’s usability.
The development of the application encountered the challenges and obstacles. However, the overall experience with technology was positive. Choosing Compose Multiplatform as the user interface framework proved to be a critical decision that significantly influenced the outcome of the project. Kotlin Multiplatform paired with Compose Multiplatform is an excellent choice especially for Android developers familiar with Kotlin and Jetpack Compose.
During the study it was found that there is no apparent performance nor quality overhead when comparing Kotlin Multiplatform application to native Android application. Conversely, the iOS product faced significant issues, such as unnecessary recompositions resulting in hangs as well as drawbacks such as significantly larger app size and slower launch time.
The application’s source code is available at https://github.com/solita/HRnD.
This thesis report presents an evaluation of technology through the development of a simple patient monitoring application. This specific use case not only adds a distinctive business edge to the study but also aligns with Solita’s industry-specific business expertise. By applying this use case to the evaluation, this thesis aims to provide valuable insights into the effectiveness of the technology within the healthcare domain. Methods of evaluation include quantitative analysis of the codebase, and performance testing, allowing for comprehensive assessment of KMP’s usability.
The development of the application encountered the challenges and obstacles. However, the overall experience with technology was positive. Choosing Compose Multiplatform as the user interface framework proved to be a critical decision that significantly influenced the outcome of the project. Kotlin Multiplatform paired with Compose Multiplatform is an excellent choice especially for Android developers familiar with Kotlin and Jetpack Compose.
During the study it was found that there is no apparent performance nor quality overhead when comparing Kotlin Multiplatform application to native Android application. Conversely, the iOS product faced significant issues, such as unnecessary recompositions resulting in hangs as well as drawbacks such as significantly larger app size and slower launch time.
The application’s source code is available at https://github.com/solita/HRnD.