Kotlin roadmap
Last modified on | January 2021 |
---|---|
Time frame | 6 months until June 2021 |
Next update | April 2021 |
Welcome to the Kotlin roadmap! Get a sneak peek into the priorities of the Kotlin Team.
Key priorities
The goal of this roadmap is to give you a big picture. Here’s a list of our key priorities – the areas we are investing the most effort into:
Fast turnaround: making the change-test-debug cycle really fast.
New compiler: a rewrite of the Kotlin compiler optimized for speed, parallelism, and unification. Later we will also work on pluggability.
Fast and smooth IDE: improving the stability and performance of the Kotlin IDE.
Kotlin for JVM server-side development: expanding support for server-side use cases across the Kotlin ecosystem.
Kotlin Multiplatform Mobile: improving the user experience and feature set for sharing code on mobile platforms.
Kotlin roadmap by subsystem
To view the biggest projects we're working on, visit the YouTrack board or the Roadmap details table.
If you have any questions or feedback about the roadmap or the items on it, feel free to post them to YouTrack tickets or in the #kotlin-roadmap channel of Kotlin Slack (request an invite ).
YouTrack board
Visit the new roadmap board in our issue tracker YouTrack!
Roadmap details
Subsystem | In focus now | Postponed for later |
---|---|---|
Language | ||
Compiler core |
| |
Kotlin/JVM | ||
Kotlin/JS |
| |
Kotlin/WASM | Note: Wasm support in Kotlin/Native (through LLVM) will be deprecated and removed | |
Kotlin/Native |
| |
Kotlin Multiplatform |
| |
IDE |
| |
Build tools |
| |
Libraries |
|
|
Website | ||
Ktor |
What's changed since October 2020
Completed items
We've completed the following items from the roadmap that we published in October 2020:
✅ Compiler core: Bootstrap the new compiler (make the new Kotlin compiler compile itself)
✅ Kotlin/Native: Runtime performance: improve object allocation times
✅ Multiplatform: KMM plugin: Fix major bugs
✅ Multiplatform: KMM plugin: Run common tests on Android devices (partially)
✅ Libraries: Improve
kotlinx-coroutines
(release v1.4)
Postponed items
We've decided to postpone the following items from the previous roadmap:
⏸ Kotlin/JVM: Maintain the old JVM backend by fixing critical bugs
⏸ Kotlin/JS: Improve Dukat support
⏸ Multiplatform: Improve dependency management for iOS
⏸ Multiplatform: Improve Gradle and Compiler error messages
⏸ Libraries: Improve usability of multi-threaded coroutines library for Kotlin/Native
New items
We've added the following items to the roadmap:
🆕 Compiler core: Support incremental compilation for the new compiler
🆕 Compiler core: Work on services for the new compiler to interact with IDE
🆕 Kotlin/JS: JS IR BE: Add an ability to generate separate JS files for each module
🆕 Kotlin/JS: JS IR BE: Prototype lazy initialization for top-level properties like in JVM
🆕 Kotlin/Native: Support producing binaries that run on Apple Silicon without Rosetta 2
🆕 Multiplatform: Improve frontend and IDE import stability for Multiplatform projects
🆕 Multiplatform: Introduce a complex KMM application sample
🆕 Multiplatform: Improve Kotlin/Native debugging experience
🆕 Multiplatform: Improve UX of using Native libraries in Kotlin
🆕 IDE: Improve debugging experience
🆕 Libraries: Improve kotlinx-serialization (release v1.2)
🆕 Libraries: Improve kotlinx-coroutines (release v1.5)
🆕 Libraries: Implement unambiguous API for Char conversion
🆕 Libraries: Implement multiplatform API for characters
We've also added a new subsystem, Website, to share our roadmap for kotlinlang.org:
🆕 Website: Revamp Kotlin documentation
🆕 Website: Make the Kotlin website mobile friendly
🆕 Website: Design a new Kotlin visual style
🆕 Website: Close try.kotlinlang.org
Items in progress
All other previously identified roadmap items are in progress. You can check their YouTrack tickets for updates.