arrow
Return

Why Did Developers Migrate Android Applications From Java to Kotlin?

delete2022-11-01
delete7
delete
OA
AI
M
Matías Martínez *
B
Bruno Góis Mateus
DOI:10.1109/TSE.2021.3120367delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Currently, the majority of apps running on mobile devices are Android apps developed in Java. However, developers can now write Android applications using a new programming language: Kotlin, which Google adopted in 2017 as an official programming language for developing Android apps. Since then, Android developers have been able to: a) start writing Android applications from scratch using Kotlin, b) evolve their existing Android applications written in Java by adding Kotlin code (possible thanks to the interoperability between the two languages), or c) migrate their Android apps from Java to Kotlin. This paper aims to study this last case. We conducted a qualitative study to find out why Android developers have migrated Java code to Kotlin and to bring together their experiences about the process, in order to identify the main difficulties they have faced. To execute the study, we first identified commits from open-source Android projects that have migrated Java code to Kotlin. Then, we emailed the developers that wrote those migrations. We thus obtained information from 98 developers who had migrated code from Java to Kotlin. This paper presents the main reasons identified by the study for performing the migration. We found that developers migrated Java code to Kotlin in order to access programming language features (e.g., extension functions, lambdas, smart casts) that are not available with Java for Android development, and to obtain safer code (i.e., avoid null-pointer exceptions). We also identified research directions that the research community could focus on in order to help developers to improve the experience of migrating their Java applications to Kotlin.
Keywords:
Java
Codes
Open source software
Tools
Interviews
Computer languages
Internet
Migration
mining repositories
Kotlin
Java
android
mobile development
software evolution
qualitative study

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

U
universite polytechnique hauts-de-france
Scholars:
1.3K
Papers: 1.1K
Citations: 0
Cited Papers

Cited Papers

Wearable Interaction
err2020-01-01
err0
PREAI
errVivian Genaro Motti
errShare
errSave
Tungsten-oxide/polypyrrole film for hybrid solid-state electrochromic smart window
err2023-01-10
err0
PREAI
errSuchita Kandpal; Tanushree Ghosh; Chanchal Rani; Love Bansal; Manushree Tanwar; Rajesh Kumar
errShare
errSave
Novel Nanostructured Electrodes Obtained by Pyrolysis of Composite Polymeric Materials
err2015-03-27
err0
PREAI
errLetizia Amato; Lars Schulte; Arto Heiskanen; Stephan S. Keller; Sokol Ndoni; Jenny Emnéus
errShare
errSave
Case report 330
err1985-10-01
err0
PREAI
errJerry S. Apple; Salutario Martinez; Shane McAlister; Arthur H. Tatum
errShare
errSave
Electricity market prices for day-ahead ancillary services and energy: Texas
err2019-01-01
err0
PREAI
errJay Zarnikau; C.K. Woo; Shuangshuang Zhu; Ross Baldick; Chen-Hao Tsai; Jingwei Meng
errShare
errSave
Effectiveness of Kotlin vs. Java in android app development tasks
err2020-11-01
err21
PREAI
errArdito, Luca; Coppola, Riccardo; Malnati, Giovanni; Torchiano, Marco
errShare
errSave
researcher View more