A Comparative Study of Java and Kotlin for Android Mobile Application Development - Putranto, Bambang Purnomosidi Dwi; Saptoto, Robertus; Jakaria, Ovandry Chandra; Andriyani, Widyastuti (2020 3rd International Seminar on Research of Information Technology and Intelligent Systems (ISRITI), 2020)
There are several programming languages that can be used to develop Android application, such as C++, Java, Kotlin, JavaScript, and many more. Each programming language certainly has some advantages and disadvantages in the development of Android application. Therefore, a comparison to see the values of those programming languages is needed. This research compared two popular programming languages for Android application development, namely Java and Kotlin. The testing was done by building two applications using Java and Kotlin that access data in a remote server. Our comparison includes source code evaluation, testing on the performance of the app performed on two devices, and testing on the data usage. From the test results, it was proved that Kotlin is superior in terms of more concise lines of code and less data usage which will reduce bugs substantially therefore will lead to faster development time. On the other hand, Java is superior in its compiling time (for first time build but on par with Kotlin for incremental build) and APK size albeit not significant. We also compare ecosystem and programming language constructs for both programming languages. Overall, for Android mobile application development, Java should be used if mobile application development priority is the APK size and compilation / build time while Kotlin should be used if mobile application development priority is lesser bugs, concise code, and faster development time.