How Kotlin Became a Primary Language for Android Development



How Kotlin Became a Primary Language for Android Development

How Kotlin Became a Primary Language for Android Development

We sit down with the man who made the first Kotlin commit in Android – and who is also a long-time fan of the show, apparently! Yigit Boyar (https://twitter.com/yigitboyar) is working on the Android team at Google, bringing you the libraries you use to write your Android apps.

Kotlin has been introduced to Android over 5 years ago, but changing the primary language of a whole ecosystem can be a huge challenge. Yigit tells us how they move libraries to Kotlin while preserving compatibility with Java. We briefly talk about Kotlin Symbol Processing (https://github.com/google/ksp) as an alternative to kapt (https://kotlinlang.org/docs/kapt.html).

Yigit takes us back to his origins – creating his first interactive programs with Flash and ActionScript, his move to Java, and his story with Scala before falling in love with Kotlin. Yigit tells us about his first Kotlin commit in Android’s Data Binding, convincing Chet Haase and George Mount to write the code generation part of their library in Kotlin – as early as December 2014. We learn about the story of how Kotlin becomes more and more popular inside Google and in the Android community. Yigit gives us an overview of how the Jetpack libraries for Android made their way to Kotlin, and how extensively they use Kotlin features, as well as the complexities they need to tackle. He also points out what makes a good reason to move your library to Kotlin, such as the powerful concurrency model of Kotlin coroutines (and how it hits a sweet spot that other libraries such as RxJava miss). Taking DataStore (https://developer.android.com/topic/libraries/architecture/datastore) as an example, Yigit explains how interoperability with other concurrency paradigms works, and how coroutines make people write decent apps more consistently. We also touch on the story of Google apps and system applications, and the role that Kotlin plays in them. We get a glimpse about the relation of Android’s libraries and their connection (or independence) to the actual Android system (and why Compose for Desktop probably will stay in the androidx namespace).

0:00 The first Kotlin Commit in Android
1:27 Introducing our guest
2:02 The weather report
3:30 Yigit’s story
6:50 Finding Kotlin & the first commit
9:34 The Kotlin story continues
11:40 Kotlin adoption inside Google
13:10 Adding Kotlin to the environment
16:32 Jetpack and Kotlin
19:55 Benefitting from Kotlin
22:08 The uptake of coroutines
25:15 Making people write decent apps
26:50 Are coroutines getting more complicated?
29:09 Google Apps and the Kotlin ecosystem
31:12 Kotlin and Crashes
32:44 Libraries, Android, and Package Names
36:10 Reflecting on the Kotlin story

#Kotlin #Android #Podcast #Java #Mobile

Comments are closed.