Kotlin 路线图
| 最后修改时间 | 2020 年 10 月 |
| 预计时效 | 6 个月,到 2021 年 3 月 |
| 下次更新时间 | 2021 年 1 月 |
欢迎来看 Kotlin 路线图!一窥 Kotlin 团队的工作重点。
关于路线图有以下几点注意事项:
- 描述了团队正在投入的主要领域。
- 这不是团队正在做的所有事情的详尽清单,只列了重要的项目。
- 这里没有在指定版本中交付指定特性或修复的承诺。
- 列出了一些被推迟并且团队在不久的将来不会关注的事情。
- 没有什么是一成不变的,我们会随着进展调整事项的优先级,并且大约每三个月更新一次路线图。
如果对路线图或者其中某些点有任何问题或反馈,请随时发布到 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 路线图 |
