Kotlin 路线图

最后修改时间2020 年 10 月
预计时效6 个月,到 2021 年 3 月
下次更新时间2021 年 1 月

欢迎来看 Kotlin 路线图!一窥 Kotlin 团队的工作重点。

关于路线图有以下几点注意事项:

  1. 描述了团队正在投入的主要领域。
  2. 这不是团队正在做的所有事情的详尽清单,只列了重要的项目。
  3. 这里没有在指定版本中交付指定特性或修复的承诺。
  4. 列出了一些被推迟并且团队在不久的将来不会关注的事情。
  5. 没有什么是一成不变的,我们会随着进展调整事项的优先级,并且大约每三个月更新一次路线图。

如果对路线图或者其中某些点有任何问题或反馈,请随时发布到 YouTrack tickets 或者 Kotlin Slack(获取邀请)的 #kotlin-roadmap 频道中。

关键优先事项

这个路线图的目标是给出一个大的图景。这里列出了主要优先事项——我们投入精力最多的领域:

  • 快速流转:让“变更-测试-调试”周期非常快。
  • 新版编译器:重写 Kotlin 编译器,针对速度、并行性与统一性进行优化。晚些还会研究插件化。
  • 快速流畅的 IDE:改善 Kotlin IDE 的稳定性与性能。
  • Kotlin 用于 JVM 服务器端开发:在整个 Kotlin 生态系统中扩展对服务器端使用场景的支持。
  • Kotlin 多平台移动端:改善在移动平台上共享代码的用户体验与特性集。

以子系统划分的 Kotlin 路线图

下表介绍了我们正在从事的重大项目。

子系统当前聚焦推迟后续
语言
  • 支持 JVM 的记录
    (KT-42430)

  • 支持 JVM 的密封类
    (KT-42433)

  • Release inline classes as stable, secure Valhalla compatibility
    (KT-42434)

  • Prototype multiple receivers
    (KT-42435)

编译器核心
  • Bootstrap the new compiler (make the new Kotlin compiler compile itself)
    (KT-42285)

  • Maintain the current compiler (bug-fixing only)
    (KT-42286)

  • ⏸ Stable Compiler Plugin API

  • ⏸ Scripting improvements

Kotlin/JVM
  • Make the new JVM IR backend stable
    (KT-42287)

  • Maintain the old JVM backend by fixing critical bugs
    (KT-42288)

Kotlin/JS
  • Make the new JS IR backend stable
    (KT-42289)

  • Improve Dukat support
    (KT-42290)

  • Maintain the old JS backend by fixing critical bugs
    (KT-42291)

  • ⏸ ES6 support
Kotlin/WASM
  • Prototype a compiler for Wasm GC proposal
    (KT-42292)

Note: Wasm support in Kotlin/Native (through LLVM) will be deprecated and removed

Kotlin/Native
  • Provide binary compatibility between incremental releases
    (KT-42293)

  • Improve compilation time
    (KT-42294)

  • Runtime performance: improve object allocation times
    (KT-42295)

  • Prototype a new garbage collector
    (KT-42296)

  • Improve exporting Kotlin code to Objective-C
    (KT-42297)

  • ⏸ Support ARM Mac & Catalyst
    (KT-39834)
    (KT-39833)
    (KT-40442)

  • ⏸ Direct interoperability with Swift

  • ⏸ Interoperability with C++

  • ⏸ Support Alpine Linux
    (KT-38876)

Kotlin 多平台
  • KMM plugin: Fix major bugs
    (KT-42299)

  • KMM plugin: Run common tests on Android devices
    (KT-42298)

  • Improve dependency management for iOS
    (KT-42301)

  • Improve Gradle & Compiler error messages
    (KT-42303)

  • ⏸ Sharing code between JVM and Android

  • ⏸ KMM plugin: support for IntelliJ IDEA

IDE
  • Improve IDE performance
    (KT-42304)

  • Improve cross-language support in the Inline Method and Change Signature refactorings
    (KT-42306)

  • Prototype IDE plugin with the new compiler frontend
    (KT-42307)

  • Move the Kotlin plugin to the IntelliJ platform development infrastructure
    (KT-42308)

Note: Kotlin support for VSCode or other IDEs is not on the roadmap for the Kotlin team. Community initiatives in this respect are welcome.

构建工具
  • Improve incremental compilation performance in Gradle
    (KT-42309)

  • Support the Gradle configuration cache
    (KT-42310)

  • Decrease time for opening Gradle projects
    (KT-42311)

  • ⏸ Improvements in Kotlin Maven support

  • Support java.nio.Path extension in the standard library
    (KT-42436)

  • Make multiplatform kotlin.text API locale-agnostic by default
    (KT-42437)

  • Improve usability of multi-threaded coroutines library for Kotlin/Native
    (KT-42314)

  • Improve kotlinx-datetime library
    (KT-42315)

  • Improve kotlinx-serialization (release v1.1)
    (KT-42316)

  • Improve kotlinx-coroutines (release v1.4)
    (KT-42317)

  • kotlinx-cli

  • binary-compatibility-validator

  • kotlinx-io

  • ⏸ Any new multiplatform libraries

Ktor

Ktor 路线图