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.
Tutorials
- Hello World - An interactive tutorial by JetBrains that illustrates Kotlin features and syntax.
Codelabs
- Refactoring to Kotlin: Learn how to refactor your code from Java to Kotlin. You'll also learn Kotlin language conventions along with how to ensure that the code you write follows them.
- Java friendly Kotlin: This codelab shows you how to write or adapt Kotlin code to make it more seamlessly callable from Java code.
Videos
- Kotlin bootcamp for programmers: This Udacity course teaches you the essentials of Kotlin.
- 'Kotlin on Android' YouTube search: This link contains a list of Kotlin-related YouTube videos.
- Introduction to Kotlin programming: This O'Reilly course provides an introduction to the Kotlin language.
- Kotlin for Java developers: This course teaches the Kotlin language to developers who are already familiar with Java.
- 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.
- 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
- Adopting Kotlin: This guide shows you how to add Kotlin to existing projects with large teams.
- Adopting Kotlin (CN version): This guide shows you how to add Kotlin to existing projects with large teams.
- Learn Kotlin Through Unit Tests: This post discusses how the Android Studio profilers team began using Kotlin by writing unit tests.
- 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 in Action: This book teaches experienced Java developers how to use Kotlin to write production-quality apps.
- Kotlin for Android developers: One of the first books about Kotlin, this book shows existing Android developers how to write their app in Kotlin.