Here's a list of additional learning resources that can help you learn to
do even more with Kotlin.

## Sites

- [kotlinlang.org](https://kotlinlang.org) - The JetBrains site for all things Kotlin.

## Tutorials

- [Hello World](https://play.kotlinlang.org/byExample/01_introduction/01_Hello%20world) - An interactive tutorial by JetBrains that illustrates Kotlin features and syntax.

## Codelabs

- [Refactoring to Kotlin](https://codelabs.developers.google.com/codelabs/java-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](https://codelabs.developers.google.com/codelabs/java-friendly-kotlin/index.html?index=../..index#0): 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](https://www.udacity.com/course/kotlin-bootcamp-for-programmers--ud9011): This Udacity course teaches you the essentials of Kotlin.
- ['Kotlin on Android' YouTube search](https://www.youtube.com/results?search_query=Kotlin+on+Android): This link contains a list of Kotlin-related YouTube videos.
- [Introduction to Kotlin programming](https://shop.oreilly.com/product/0636920052982.do): This O'Reilly course provides an introduction to the Kotlin language.
- [Kotlin for Java developers](https://teamtreehouse.com/library/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](https://www.youtube.com/watch?v=ldM6QZy9e0s): This talk from Google I/O 2019 examines Android's increasing support for Kotlin.
- [How to Kotlin - from the Lead Kotlin Language Designer](https://www.youtube.com/watch?v=6P20npkvcb8): This Google I/O 2018 talk highlights how to write more idiomatic Kotlin.
- [Shaping Your App's Architecture with Kotlin and Architecture Components](https://www.youtube.com/watch?v=Sy6ZdgqrQp0): 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](https://www.youtube.com/watch?v=TLksQq8T5v4): 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](https://www.youtube.com/watch?v=BOHK_w09pVA): This Google I/O 2019 talk gives an overview of using Kotlin coroutines on Android.
- [LiveData with Coroutines and Flow](https://www.youtube.com/watch?v=B8ppnjGPAGE): 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](https://www.youtube.com/watch?v=zbYYoL7vo9Y): 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](https://medium.com/androiddevelopers/adopting-kotlin-50c0df79b879): This guide shows you how to add Kotlin to existing projects with large teams.
- [Adopting Kotlin (CN version)](https://mp.weixin.qq.com/s/UJipNKgGPzZ1iPJBAaLJXw): This guide shows you how to add Kotlin to existing projects with large teams.
- [Learn Kotlin Through Unit Tests](https://medium.com/androiddevelopers/learn-kotlin-through-unit-tests-914106d2d8c5): This post discusses how the Android Studio profilers team began using Kotlin by writing unit tests.
- [Kotlin Vocabulary: typealias](https://medium.com/androiddevelopers/alter-type-with-typealias-4c03302fbe43): 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](https://medium.com/androiddevelopers/zero-cost-abstractions-in-kotlin-19b953f3a936): This post introduces inline classes, a way to ensure type-safety without performance cost.
- [Suspending over Views](https://medium.com/androiddevelopers/suspending-over-views-19de9ebd7020): This post talks about how coroutines can make UI programming easier.
- [Collections and sequences in Kotlin](https://medium.com/androiddevelopers/collections-and-sequences-in-kotlin-55db18283aca): This post shows how collections and sequences work in Kotlin.

## Social channels

- [Kotlin community](https://kotlinlang.org/community): This kotlinlang.org page lists additional Kotlin-focused events and groups.
- [Kotlin on Slack](https://slack.kotlinlang.org): Use this link to sign up for the Kotlin Slack channel, where you can discuss all things Kotlin with other enthusiasts.
- [Talking Kotlin](http://talkingkotlin.com): Bi-monthly podcast with a focus on the Kotlin language.
- [Kotlin on Twitter](https://twitter.com/kotlin): This is the official Twitter account for Kotlin.

## Books

- [Android development with Kotlin](https://www.packtpub.com/application-development/android-development-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](https://manning.com/books/kotlin-in-action): This book teaches experienced Java developers how to use Kotlin to write production-quality apps.
- [Kotlin for Android developers](https://leanpub.com/kotlin-for-android-developers): One of the first books about Kotlin, this book shows existing Android developers how to write their app in Kotlin.