Here's a list of additional learning resources that can help you learn to do even more with Kotlin.
Sites
- kotlinlang.org - The JetBrains site for all things Kotlin.
- Kotlin Symbol Processing API - Kotlin Symbol Processing (KSP) is an API that you can use to develop lightweight compiler plugins.
Samples
- Sunflower: Sunflower is a gardening app that illustrates Android development best practices with Android Jetpack.
- Google I/O Android app: iosched is the official Android app for Google I/O
- Plaid: Plaid is an Android app that provides design news and inspiration while also illustrating material design best practices.
Pathways
- Learn Kotlin coroutines: This pathway contains a series of codelabs and articles that teach you all about Kotlin coroutines.
Codelabs
- Coroutines codelab: This codelab shows you how to use Kotlin coroutines to manage background threads and simplify your async code.
- Building a Kotlin extensions library: Learn how to build a Kotlin extensions library that adds coroutines and Flow support to existing classes.
- Advanced Coroutines with Kotlin Flow and LiveData: Learn how to use Kotlin coroutines with LiveData and Flow in an Android app.
Videos
- 'Kotlin on Android' YouTube search: This link contains a list of Kotlin-related YouTube videos.
- What's New in Kotlin on Android, 2 Years In: This talk from Google I/O 2019 examines Android's increasing support for Kotlin.
- How to Kotlin - from the Lead Kotlin Language Designer: This Google I/O 2018 talk highlights how to write more idiomatic Kotlin.
- Coroutines: Gotta catch 'em all: Learn best practices for handling cancellation and exceptions in Kotlin coroutines.
- Shaping Your App's Architecture with Kotlin and Architecture Components: This video from KotlinConf 2018 covers the architecture lessons learned while converting Plaid to Kotlin and integrating Jetpack Architecture Components.
- Android Jetpack ❤️ Kotlin: On the road to more wholesome APIs: This KotlinConf 2019 talk provides info about the state of Kotlin on Android and gives you a glimpse into the future of what app development with Android Jetpack looks like.
- Understand Kotlin Coroutines on Android: This Google I/O 2019 talk gives an overview of using Kotlin coroutines on Android.
- LiveData with Coroutines and Flow:
This talk from the 2019 Android Dev Summit covers the
liveData
coroutine builder, showing when and how to use it along with testing patterns and antipatterns to make clean, efficient, and solid reactive UIs. - #AskAndroid at Android Dev Summit 2019 - Kotlin & Coroutines on Android: This session from the 2019 Android Dev Summit answers Kotlin and coroutines-related questions submitted online by Android developers.
Articles and blog posts
- Lessons learnt using Coroutines Flow in the Android Dev Summit 2019 app: This article highlights best practices and other lessons learned when adding Flow support to the Android Dev Summit 2019 app.
- Dagger in Kotlin: This article describes best practices and things to watch for when using Dagger in a Kotlin app.
- Easy coroutines in Android: viewModelScope:
This article describes viewModelScope, an extension property that
adds coroutines support to the
ViewModel
class. - Coroutines in Android (series - 1st article linked): This post is the first in a series that teaches you about Kotlin coroutines.
- Kotlin Vocabulary: typealias: This post discusses typealias, a Kotlin keyword that lets you provide an alternate name for an existing type without introducing a new type.
- Kotlin Vocabulary: inline classes: This post introduces inline classes, a way to ensure type-safety without performance cost.
- Suspending over Views: This post talks about how coroutines can make UI programming easier.
- Collections and sequences in Kotlin: This post shows how collections and sequences work in Kotlin.
Social Channels
- Kotlin community: This kotlinlang.org page lists additional Kotlin-focused events and groups.
- Kotlin on Slack: Use this link to sign up for the Kotlin Slack channel, where you can discuss all things Kotlin with other enthusiasts.
- Talking Kotlin: Bi-monthly podcast with a focus on the Kotlin language.
- Kotlin on Twitter: This is the official Twitter account for Kotlin.
Books
- Android development with Kotlin: Learn how to make Android development much faster using a variety of Kotlin features, from basics to advanced, to write better quality code.
- Kotlin for Android developers: One of the first books about Kotlin, this book shows existing Android developers how to write their app in Kotlin.