Get started with Kotlin
Kotlin is a modern but already mature programming language aimed to make developers happier. It's concise, safe, interoperable with Java and other languages, and provides many ways to reuse code between multiple platforms for productive programming.
Pick it up to start building powerful applications!
Learn Kotlin fundamentals
If you're already familiar with one or more programming languages and want to learn Kotlin, start with these Kotlin learning materials.
If Kotlin is your first programming language, we recommend starting with the Atomic Kotlin book or signing up for the free Kotlin Basics track on JetBrains Academy.
Install Kotlin
Kotlin is included in each IntelliJ IDEA and Android Studio release.
Download and install one of these IDEs to start using Kotlin.
Create your powerful application with Kotlin
Here is how you can take the first steps in developing Kotlin server-side applications.
Create your first backend application:
To start from scratch, create a basic JVM application with the IntelliJ IDEA project wizard.
If you prefer more robust examples, choose one of the frameworks below and create a project:
Spring
Ktor
A mature family of frameworks with an established ecosystem that is used by millions of developers worldwide.
A lightweight framework for those who value freedom in making architectural decisions.
Use Kotlin and third-party libraries in your application. Learn more about adding library and tool dependencies to your project.
The Kotlin standard library offers a lot of useful things such as collections or coroutines.
Take a look at the following third-party frameworks, libs and tools for Kotlin.
Learn more about Kotlin for server-side:
Join the Kotlin server-side community:
Slack: get an invite and join the #getting-started, #server, #spring, or #ktor channels.
StackOverflow: subscribe to the "kotlin", "spring-kotlin", or "ktor" tags.
Follow Kotlin on
Twitter,
Reddit, and
Youtube, and don't miss any important ecosystem updates.
If you've encountered any difficulties or problems, report an issue to our issue tracker.
Here you'll learn how to develop and improve your cross-platform mobile application using Kotlin Multiplatform Mobile.
Set up your environment for cross-platform mobile development.
Create your first application for iOS and Android:
To start from scratch, create a basic cross-platform mobile application with the project wizard.
If you have an existing Android application and want to make it cross-platform, complete the Make your Android application work on iOS tutorial.
If you prefer real-life examples, clone and play with an existing project, for example the networking and data storage project from the Create a multiplatform app using Ktor and SQLdelight tutorial or any sample project.
Use a wide set of multiplatform libraries to implement the required business logic only once in the shared module. Learn more about adding dependencies.
Learn more about Kotlin Multiplatform Mobile:
Learn more about Kotlin Multiplatform.
Look through samples on GitHub.
Learn how Kotlin Multiplatform is used at Netflix, VMware, Yandex, and many other companies.
Join the Kotlin Multiplatform community:
Slack: get an invite and join the #getting-started and #multiplatform channels.
StackOverflow: Subscribe to the "kotlin-multiplatform" tag.
Follow Kotlin on
Twitter,
Reddit, and
Youtube, and don't miss any important ecosystem updates.
If you've encountered any difficulties or problems, report an issue to our issue tracker.
Kotlin provides an ability to transpile your Kotlin code, the Kotlin standard library, and any compatible dependencies to JavaScript.
Here you'll learn how to develop and improve your frontend web application using Kotlin/JS.
Create your first frontend web application:
To start from scratch, create a basic browser application with the IntelliJ IDEA project wizard.
If you prefer more robust examples, complete the Build a web application with React and Kotlin/JS tutorial. It includes a sample project that can serve as a good starting point for your own projects, and contains useful snippets and templates.
Check out the list of Kotlin/JS samples for more ideas on how to use Kotlin/JS.
Use libraries in your application. Learn more about adding dependencies.
Library
Details
The Kotlin standard library included in all projects by default.
The Kotlin library for accessing browser-specific functionality, including typical top-level objects such as document and window.
The Kotlin library for generating DOM elements using statically-typed HTML builders.
The Kotlin multiplatform library for networking.
A third-party object-oriented web framework for Kotlin/JS.
A third-party lightweight, high-performance, independent library for building reactive web apps in Kotlin that are heavily dependent on coroutines and flows.
A third-party vector-based UI framework that uses browser's capabilities to draw user interfaces.
Compose for Web, a part of Compose Multiplatform
The JetBrains framework that brings Google's Jetpack Compose UI toolkit to the browser.
Provide convenient abstractions and deep integrations for one of the most popular JavaScript frameworks. Kotlin wrappers also provide support for a number of adjacent technologies like
react-redux
,react-router
, orstyled-components
.Learn more about Kotlin for frontend web development:
Join the Kotlin frontend web community:
Slack: get an invite and join the #getting-started and #javascript channels.
StackOverflow: subscribe to the "kotlin-js" tag.
Follow Kotlin on
Twitter,
Reddit, and
Youtube, and don't miss any important ecosystem updates.
If you've encountered any difficulties or problems, report an issue to our issue tracker.
If you want to start using Kotlin for Android development, read Google's recommendation for getting started with Kotlin on Android.
If you're new to Android and want to learn to create applications with Kotlin, check out this Udacity course.
Follow Kotlin on Twitter,
Reddit, and
Youtube, and don't miss any important ecosystem updates.
Support for multiplatform programming is one of Kotlin's key benefits. It reduces time spent writing and maintaining the same code for different platforms while retaining the flexibility and benefits of native programming.
Here you'll learn how to develop and publish a multiplatform library:
Create a multiplatform library:
Complete the Create and publish a multiplatform library tutorial. It shows how to create a multiplatform library for JVM, JS, and Native platforms, test it and publish to a local Maven repository.
Build a full stack web application using this tutorial.
Use libraries in your application. Learn more about adding dependencies on libraries.
Learn more about Kotlin Multiplatform programming:
Join the Kotlin Multiplatform community:
Slack: get an invite and join the #getting-started and #multiplatform channels.
StackOverflow: Subscribe to the "kotlin-multiplatform" tag.
Follow Kotlin on
Twitter,
Reddit, and
Youtube, and don't miss any important ecosystem updates.
If you've encountered any difficulties or problems, report an issue to our issue tracker.
Is anything missing?
If anything is missing or seems confusing on this page, please share your feedback.