Estimated time: about 5 minutes

A categorized list of resources useful for learning Kotlin and applying it in production.


Official Documentation#

ResourceCategoryURLOne-line Description
Kotlin Official DocsOfficial Docshttps://kotlinlang.org/docs/Language reference, guides, and tutorials
Kotlin API ReferenceOfficial Docshttps://kotlinlang.org/api/latest/jvm/stdlib/Full API of the standard library
Kotlin PlaygroundOfficial Docshttps://play.kotlinlang.org/An online IDE that runs in the browser
Kotlin Release NotesOfficial Docshttps://kotlinlang.org/docs/releases.htmlChange log by version
Kotlin EvolutionOfficial Docshttps://kotlinlang.org/docs/kotlin-evolution.htmlLanguage evolution direction and stability guarantees

Coroutines and Flow#

ResourceCategoryURLOne-line Description
Coroutines GuideCoroutines/Flowhttps://kotlinlang.org/docs/coroutines-guide.htmlOfficial coroutines tutorial (beginner to advanced)
kotlinx.coroutines APICoroutines/Flowhttps://kotlinlang.org/api/kotlinx.coroutines/Full API of the coroutines library
Flow DocsCoroutines/Flowhttps://kotlinlang.org/docs/flow.htmlOfficial guide for asynchronous Flow streams
Structured ConcurrencyCoroutines/Flowhttps://elizarov.medium.com/structured-concurrency-722d765aa952Roman Elizarov’s explanation of structured concurrency
Coroutines CodelabCoroutines/Flowhttps://developer.android.com/codelabs/kotlin-coroutinesGoogle’s hands-on coroutines codelab

Kotlin Multiplatform#

ResourceCategoryURLOne-line Description
KMP Official SiteMultiplatformhttps://www.jetbrains.com/kotlin-multiplatform/Introduction to Kotlin Multiplatform
KMP DocsMultiplatformhttps://kotlinlang.org/docs/multiplatform.htmlKMP development guide
Fleet IDEMultiplatformhttps://www.jetbrains.com/fleet/JetBrains IDE optimized for KMP development
KMP SamplesMultiplatformhttps://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-samples.htmlCollection of official sample projects

Spring Boot + Kotlin#

ResourceCategoryURLOne-line Description
Spring Boot Kotlin SupportSpring Boothttps://docs.spring.io/spring-framework/docs/current/reference/html/languages.html#kotlinOfficial Spring Kotlin integration documentation
Spring InitializrSpring Boothttps://start.spring.io/Generate Kotlin-based Spring Boot projects
Ktor FrameworkSpring Boothttps://ktor.io/Kotlin-native asynchronous web framework
Spring Kotlin BlogSpring Boothttps://spring.io/blog/category/kotlinOfficial Spring blog category on Kotlin

ResourceCategoryURLOne-line Description
Kotlin in Action (2nd ed.)Bookshttps://www.manning.com/books/kotlin-in-action-second-editionBy Dmitry Jemerov and Svetlana Isakova — the canonical text from the language designers
Atomic KotlinBookshttps://www.atomickotlin.com/By Bruce Eckel and Svetlana Isakova — step-by-step learning with exercises
The Joy of KotlinBookshttps://www.manning.com/books/the-joy-of-kotlinBy Pierre-Yves Saumont — Kotlin from a functional-programming perspective
Kotlin CookbookBookshttps://www.oreilly.com/library/view/kotlin-cookbook/9781492046660/By Ken Kousen — a practical recipe-style reference

Online Courses#

ResourceCategoryURLOne-line Description
Kotlin Bootcamp for ProgrammersCourseshttps://www.udacity.com/course/kotlin-bootcamp-for-programmers--ud9011Free on Udacity — produced by Google and JetBrains, beginner to intermediate
Kotlin Essential TrainingCourseshttps://www.linkedin.com/learning/kotlin-essential-trainingLinkedIn Learning — practice-oriented
Kotlin Coroutines Deep DiveCourseshttps://kt.academy/course/coroutinesKt.Academy — specialized advanced course on coroutines
Android Development with KotlinCourseshttps://www.udacity.com/course/developing-android-apps-with-kotlin--ud9012Udacity — Android + Kotlin

Korean-Language Resources#

ResourceCategoryURLOne-line Description
Kotlin Official Korean TranslationKoreanhttps://kotlinlang.org/docs/home.htmlPartial Korean translation of the official docs
Coroutines Official Docs TranslationKoreanhttps://github.com/hikaMaeng/kotlinCoroutineKRUnofficial Korean translation of the coroutines guide
Kotlin Korea CommunityKoreanhttps://www.facebook.com/groups/kotlinkr/Korean Kotlin Facebook user group
Woowahan Tech Kotlin SeriesKoreanhttps://techblog.woowahan.com/?tag=kotlinProduction case studies on the Woowahan Tech blog
LINE Engineering Blog KotlinKoreanhttps://engineering.linecorp.com/ko/tag/kotlinSpring Boot + Kotlin production cases

Tools and Plugins#

ResourceCategoryURLOne-line Description
IntelliJ IDEAToolshttps://www.jetbrains.com/idea/The IDE optimized for Kotlin (Community Edition is free)
Android StudioToolshttps://developer.android.com/studioIDE for Android + Kotlin development
detektToolshttps://detekt.dev/A static analysis tool for Kotlin
ktlintToolshttps://pinterest.github.io/ktlint/A Kotlin code style formatter
KotestToolshttps://kotest.io/A Kotlin-native test framework
MockKToolshttps://mockk.io/A Kotlin-specific mocking library
ArrowToolshttps://arrow-kt.io/A functional programming library

Code Quality and Style Guides#

ResourceCategoryURLOne-line Description
Kotlin Official Coding ConventionsStyle Guidehttps://kotlinlang.org/docs/coding-conventions.htmlThe official code style guide
Android Kotlin Style GuideStyle Guidehttps://developer.android.com/kotlin/style-guideGoogle’s Android Kotlin style
detekt RulesStyle Guidehttps://detekt.dev/docs/rules/Reference for static-analysis rules

Gradle Kotlin DSL#

ResourceCategoryURLOne-line Description
Gradle Kotlin DSL DocsGradlehttps://docs.gradle.org/current/userguide/kotlin_dsl.htmlOfficial Gradle Kotlin DSL guide
Gradle Plugin PortalGradlehttps://plugins.gradle.org/Search Gradle plugins
Migration GuideGradlehttps://docs.gradle.org/current/userguide/migrating_from_groovy_to_kotlin_dsl.htmlMigrating from Groovy DSL to Kotlin DSL

Community and Newsletters#

ResourceCategoryURLOne-line Description
Kotlin SlackCommunityhttps://surveys.jetbrains.com/s3/kotlin-slack-sign-upOfficial Kotlin Slack community
Kotlin WeeklyCommunityhttps://kotlinweekly.net/Weekly newsletter with Kotlin news and articles
Kt.AcademyCommunityhttps://kt.academy/Kotlin education platform with advanced articles
This Week in KotlinCommunityhttps://www.reddit.com/r/Kotlin/The Reddit Kotlin community
KotlinConf TalksCommunityhttps://www.youtube.com/c/KotlinOfficial JetBrains YouTube channel

Next Steps#