Native app development can provide an app with high performance and an intuitive user experience, which is harder to achieve using cross-platform frameworks. Poor performance has long been considered to be one of the main disadvantages of applications developed with a non-native approach (also known as multiplatform).
Kotlin Multiplatform is a framework that allows the same code to be compiled for Android, iOS, web and other platforms. Kotlin/Native compiles to native code on supported platforms, such as iOS. There is also Kotlin/JS that transpiles to JS, and Kotlin/Native can also compile to WebAssembly.
For an iOS app, this should theoretically provide the same performance as building it natively in Swift or Objective-C. This should make cross-platform a more viable option than other alternatives, even when native performance is needed.
For this task you can choose to evaluate the memory and runtime performance of Kotlin code running in a browser or an iOS app, as compared to the equivalent code in JS or Swift. It could be interesting to evaluate different types of code/algorithms including
- Memory-heavy code
- Multithreaded code
- CPU-intensive code
- Extended load
- IO-heavy code
- Time-constrained operations such as audio/video or UI code
You can use different metrics such as garbage collection overhead, memory consumption, execution time, CPU utilization, battery consumption, IO usage, etc.
This thesis project may suit you if...
- You are interested in iOS development, web development and/or Kotlin.
- You care about low-level details of execution and performance.
- You enjoy learning new languages and platforms.