What’s new in Kotlin for Android, #GoogleIO 2023

Abhishek Gururani
3 min readMay 11, 2023

Last year in 2022, Kotlin completed 5 whole years as the officially supported language for Android Development. Here’s a list of 4 new updates to the Android Kotlin Ecosystem that were announced in Google IO ’23.

Photo by Sebastian Bednarek on Unsplash

Kotlin compiler version 2.0

If you’re a Kotlin developer, you might be excited to hear that the language is getting a major upgrade with version 2.0. What’s cool is that the new Kotlin compiler version 2.0 will be the default one for Kotlin 2.0.

This heavily enhances the performance as compared to previous Kotlin Compiler version 1.8.

A table that depicts the difference in performance between Kotlin 1.8 compiler and Kotlin 2.0 compiler.
Google IO

Final updates are to be given by the next year(2024). With Kotlin 2.0 compiler Google is aiming for higher developer productivity, ease of use, and the new 2.0 compiler will also encourage more feature advancements in the Kotlin Language.

If you want to try out the new Kotlin 2.0 compiler simply update the Kotlin language version to 2.0 in your module’s Gradle Build file.

Google IO

Kotlin DSL for Gradle Builds

Google is absolutely bullish on promoting the use of Kotlin Language to completely develop Android Apps. Starting from Android Studio Giraffe the default DSL script for writing Gradle Build Script files will be Kotlin DSL instead of Groovy DSL.

To use the Kotlin DSL in your Gradle build script, simply name your file build.gradle.kts instead of build.gradle.

One advantage of using Kotlin DSL is that it makes syntax hinting much accurate, and syntax errors are reported right there even before syncing the build.gradle files.

Apart from this developers can also use Gradle version catalogs to put all the Apps dependencies at one centralised place, which sounds amazing for the purpose of scalability.

Check this up : If you’re looking to migrate Gradle build logic from Groovy to Kotlin.

To see a sample, checkout NowInAndroid repository on Github.

KSP(Kotlin Symbol Processor) : a better alternative to Kapt(Kotlin Annotation Processing Tool)

Originally Kapt was used to generate Java Stubs from Kotlin code, allowing annotation processors written in Java to work with Kotlin.

Through Kapt, annotation processing was a time consuming two step procedure.

Working of Kapt, source : Google IO

KSP is a Kotlin-first alternative to Kapt, for directly analysing Kotlin code.

Working of KSP, source : Google IO

KSP has following advantages over Kapt,

  1. It’s 2X faster, as it doesn’t have to generate Java stubs.
  2. Better typing : as it understands Kotlin language specific nuances like nullability.
  3. It’s multiplatform ready as it doesn’t depend on Java source code.

To get started with migrating from Kapt to KSP checkout the following official migration documentation.

Popular libraries like -> Room, Glide, Moshi…to name a few, have already added support for KSP. Whereas, Dagger and Hilt are yet to support KSP.

Kotlin Multiplatform

Kotlin Multiplatform is still beta, and in experimental stages. Google is bringing three popular Jetpack libraries to the Kotlin Multiplatform ecosystem, they are -> Annotations, Collections, and DataStore

I personally believe that multiplatform is the future of Mobile Development. And any step in that direction seems like the right step.

To see the use of DataStore in Kotlin Multiplatform check this kmm-samples repo. And to read more about Kotlin Multiplatform read this official documentation.

If you found this insightful, do give it an upvote. Thanks.

--

--

Abhishek Gururani

I write articles on Android Development, and problem solving.