Edit Page

Reference

Provides a complete reference to the Kotlin language and the standard library.

Where to Begin

This reference is designed for you to easily learn Kotlin in a matter of hours. Start with the basic syntax, then proceed to more advanced topics. While reading, you can try out the examples in the online IDE.

Once you get an idea of what Kotlin looks like, try yourself in solving some Kotlin Koans - interactive programming exercises. If you are not sure how to solve a Koan, or you're looking for a more elegant solution, check out Kotlin idioms.

Browse offline

You can download the entire reference documentation as a single PDF file.

Books

Kotlin in Action

Kotlin in Action teaches you to use the Kotlin language for production-quality applications. Written for experienced Java developers, this example-rich book goes further than most language books, covering interesting topics like building DSLs with natural language syntax.

The book is written by Dmitry Jemerov and Svetlana Isakova, developers on the Kotlin team.

Chapter 6, covering the Kotlin type system, and chapter 11, covering DSLs, are available as a free preview on the publisher Web site.

Kotlin for Android Developers

Kotlin for Android Developers is a book by Antonio Leiva showing how Kotlin can be used for creating an Android application from scratch.

Modern Web Development with Kotlin

Modern Web Development with Kotlin is a book by Denis Kalinin about Web development with Kotlin. It covers just enough basics to get started but mostly concentrates on the practical aspect of using the language. In particular, it guides you through the process of building a technology-packed Web application while using popular backend and frontend technologies.

Programming Kotlin

Programming Kotlin is a book by Stephen Samuel and Stefan Bocutiu about using Kotlin on the JVM. It covers all aspects of the language with particular focus on server side development. It is aimed at Java developers who want to learn Kotlin and especially where it improves on Java.