Kotlin 路线图
最后修改时间 | 2022 年 6 月 |
下次更新时间 | 2022 年 11 月 |
欢迎来看 Kotlin 路线图!一窥 Kotlin 团队的工作重点。
关键优先事项
这个路线图的目标是给出一个大的图景。这里列出了主要优先事项——我们投入精力最多的领域:
- 快速流转:让“变更-测试-调试”周期非常快。
- 新版编译器:重写 Kotlin 编译器,针对速度、并行性与统一性进行优化。晚些还会研究插件化。
- 快速流畅的 IDE:改善 Kotlin 插件的稳定性与性能。
- Kotlin 用于 JVM 服务器端开发:在整个 Kotlin 生态系统中扩展对服务器端使用场景的支持。
- Kotlin 多平台移动端:改善在移动平台上共享代码的用户体验与特性集。
以子系统划分的 Kotlin 路线图
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 roadmap board in our issue tracker YouTrack
Roadmap details
子系统 | 当前聚焦 | |
---|---|---|
语言 |
|
|
编译器核心 | ||
K2 compiler | ||
Kotlin/JVM | ||
Kotlin/JS | ||
Kotlin/Wasm |
Note: Wasm support in Kotlin/Native (through LLVM) will be deprecated and removed |
|
Kotlin/Native | ||
Kotlin 多平台 | ||
IDE | ||
构建工具 | ||
库 |
|
|
Website |
- This roadmap is not an exhaustive list of all things the team is working on, only the biggest projects.
- There’s no commitment to delivering specific features or fixes in specific versions.
- We will adjust our priorities as we go and update the roadmap approximately every six months.
What's changed since November 2021
Completed items
We've completed the following items from the previous roadmap:
- ✅ Language: Allow denotable definitely not-null types
- ✅ Language: Allow implementation by delegation to inlined value of inline class
- ✅ Language: Release OptIn annotations
- ✅ Language: Release builder inference
- ✅ Language: Support sealed (exhaustive) whens
- ✅ Language: Prototype multiple receivers
- ✅ Compiler core: Finalize support for jspecify
- ✅ K2 compiler: Release the K2/JVM compiler in Alpha
- ✅ K2 compiler: Implement support for basic compile-time evaluation
- ✅ Kotlin/JVM: Support method references to functional interface constructors
- ✅ Kotlin/JS: JS IR BE: Add an ability to generate separate JS files for each module
- ✅ Kotlin/Native: Promote new memory manager to Alpha
- ✅ Multiplatform: Improve UX of using Native libraries in Kotlin
- ✅ Multiplatform: Improve environment setup experience for KMM projects
- ✅ Multiplatform: Improve DSL for managing Kotlin/Native binary output
- ✅ IDE: Improve the New Project wizard
- ✅ Build tools: Make kapt work out of the box with latest JDKs
- ✅ Build tools: Improve the user experience with the Kotlin Gradle plugin
- ✅ Website: Update community graphic assets to the new Kotlin visual style
New items
We've added the following items to the roadmap:
- 🆕 Language: Introduce special syntax for
until
operator - 🆕 K2 compiler: Release K2 Beta
- 🆕 K2 compiler: Provide Alpha support for Native in the K2 platform
- 🆕 K2 compiler: Provide Alpha support for JS in the K2 platform
- 🆕 K2 compiler: Support Multiplatform in the K2 platform
- 🆕 Kotlin/Native: Promote new memory manager to Beta and enable it by default
- 🆕 Multiplatform: Promote Kotlin Multiplatform Mobile to Beta
- 🆕 Multiplatform: Improve Android support in Multiplatform projects
- 🆕 Multiplatform: Stabilize klib
- 🆕 IDE: Stabilize code analysis
- 🆕 Libraries: Continue development and stabilization of standard library
- 🆕 Build tools: Make compilation avoidance support Stable for Gradle
Removed items
We've removed the following items from the roadmap:
- ❌ Language: Provide equals operator with precise signature for inline classes
- ❌ Kotlin/JVM: Allow private top-level classes or type aliases with same name in different files on JVM
- ❌ Kotlin/JVM: Provide ability to enumerate all direct subclasses of a sealed class at compile-time without reflection
- ❌ Kotlin/JVM: Support Java synthetic property references
- ❌ Kotlin/JS: JS: support ES6 as compilation target
- ❌ Kotlin/JS: Improve Dukat support
- ❌ Kotlin/Native: Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64)
- ❌ Kotlin/Native: Support direct interoperability with Swift
- ❌ Kotlin/Native: Support running Kotlin/Native-produced binaries on Alpine Linux
- ❌ IDE: Implement advanced tooling that users have in Java but is missing in Kotlin
- ❌ IDE: Improve the quality of less frequently used features
- ❌ Build tools: Improve the quality of Gradle import
- ❌ Website: Provide infrastructure for documentation localization by community
Items in progress
All other previously identified roadmap items are in progress. You can check their YouTrack tickets for updates.