A study of Kotlin's: conciseness, safety and interoperability.

thumbnail

Tutor / Supervisor

Student

Luca Crisan, Andreas

Document type

Bachelor thesis

Date

2019

rights

Open AccessOpen Access

Publisher

Universitat Politècnica de Catalunya



Abstract

In the latest Google I/O, Google's major conference on the Android world, that took place in May 2019, they stated two huge announcements. The first one is thatthere are already more than 2.5billion active Android devices worldwide. And the second one isthat since the launch of Android in late 2008 the preferred programming language for developing Android application has been Java, but this year, 2019, this changed. Kotlin, a new programminglanguage developed by JetBrains, took its place. Both statements are huge, why would Google change its preferred programming language for Android development when they have that impressive numberof active devices?The goal of this project is to answer that question by evaluatingKotlin.We willfirstdeep dive into its main featureswhich go from writing concise code to revolutionizing asynchronous programming. We will also look at what can we build with Kotlin, which goes from mobile applications to servers or browser applications. The first approach will be theoreticalby researching what problem do Kotlin's features solveand how to use them. Then,we will move to select the most relevant featuresand we will experimentwith them. In the experiment we will see if what the theory promises is true and at the end of evaluating these features, we willgive some analysis or proposals for improving it.Once we are more familiar with Kotlin we will build an actual Android application fully in Kotlin. The application will connect to a server and look for flights for a given group of people from different departure cities to a single destination. Therefore, we will have the possibility of creating travel groups of people and the possibility to look for flightsfor each of those.Finally, we will take everything into consideration, and we will validate Kotlin's self-claim of being a concise, safe and interoperable language from both the theoretical and the practical points of view.
user

Participating teacher

Files