Skip to content

Kotlin 组件的稳定性

Kotlin 语言和工具集分为许多组件,例如 JVM、JS 和 Native 目标平台的编译器、标准库、各种配套工具等等。其中许多组件已正式发布为 稳定版 (Stable),这意味着它们按照 舒适更新 (Comfortable Updates) 和保持语言现代 (Keeping the Language Modern) 的原则以向后兼容的方式发展。

遵循反馈循环 (Feedback Loop) 原则,我们提前发布了许多内容供社区试用,因此许多组件尚未发布为 稳定版。其中一些处于非常早期的阶段,另一些则更为成熟。我们根据每个组件的发展速度以及用户采纳时所承担的风险级别,将其标记为 实验性 (Experimental)、Alpha (Alpha) 或 Beta (Beta)。

稳定性级别说明

以下是这些稳定性级别及其含义的快速指南:

实验性 (Experimental) 意味着“仅在玩具项目中使用”:

  • 我们只是在尝试一个想法,并希望一些用户试用并提供反馈。如果行不通,我们随时可能放弃它。

Alpha (Alpha) 意味着“使用风险自负,预计会出现迁移问题”:

  • 我们打算将此想法产品化,但它尚未达到最终形态。

Beta (Beta) 意味着“您可以使用它,我们将尽力为您最大限度地减少迁移问题”:

  • 它几乎完成,用户反馈现在尤为重要。
  • 尽管如此,它仍未 100% 完成,因此仍有可能发生变化(包括基于您自身反馈的变化)。
  • 请提前留意弃用警告,以获得最佳更新体验。

我们将_实验性_、AlphaBeta 统称为 预稳定 (pre-stable) 级别。

稳定版 (Stable) 意味着“即使在最保守的场景中也可以使用它”:

请注意,稳定性级别并未说明组件何时会发布为稳定版。同样,它们也未指出组件在发布前会发生多少更改。它们仅说明组件变化的速度以及用户面临的更新问题风险。

Kotlin 组件的 GitHub 徽章

Kotlin GitHub 组织 托管着各种 Kotlin 相关项目。其中一些我们全职开发,而另一些则是副项目。

每个 Kotlin 项目都有两个 GitHub 徽章,描述其稳定性和支持状态:

子组件的稳定性

一个稳定的组件可能包含一个实验性子组件,例如:

  • 一个稳定的编译器可能包含一个实验性特性;
  • 一个稳定的 API 可能包含实验性类或函数;
  • 一个稳定的命令行工具可能包含实验性选项。

我们确保精确地记录哪些子组件不是 稳定版。我们还尽力在可能的情况下警告用户,并要求他们明确选择启用,以避免意外使用尚未发布为稳定版的功能。

Kotlin 组件的当前稳定性

NOTE

默认情况下,所有新组件都具有实验性状态。

Kotlin 编译器

组件状态自版本备注
Kotlin/JVM稳定版1.0.0
Kotlin/Native稳定版1.9.0
Kotlin/JS稳定版1.3.0
Kotlin/WasmAlpha1.9.20
Analysis API稳定版

核心编译器插件

组件状态自版本备注
All-open稳定版1.3.0
No-arg稳定版1.3.0
SAM-with-receiver稳定版1.3.0
kapt稳定版1.3.0
Lombok实验性1.5.20
Power-assert实验性2.0.0

Kotlin 库

组件状态自版本备注
kotlin-stdlib (JVM)稳定版1.0.0
kotlinx-coroutines稳定版1.3.0
kotlinx-serialization稳定版1.0.0
kotlin-metadata-jvm稳定版2.0.0
kotlin-reflect (JVM)Beta1.0.0
kotlinx-datetimeAlpha0.2.0
kotlinx-ioAlpha0.2.0

Kotlin 多平台

组件状态自版本备注
Kotlin Multiplatform稳定版1.9.20
Android Studio 的 Kotlin 多平台插件Beta0.8.0与语言版本独立

Kotlin/Native

组件状态自版本备注
Kotlin/Native 运行时稳定版1.9.20
Kotlin/Native 与 C 和 Objective-C 的互操作Beta1.3.0
klib 二进制文件稳定版1.9.20不包括 cinterop klibs,见下文
cinterop klib 二进制文件Beta1.3.0
CocoaPods 集成稳定版1.9.20

有关 Kotlin/Native 目标支持的详细信息,请参阅

语言工具

组件状态自版本备注
脚本语法和语义Alpha1.2.0
脚本嵌入和扩展 APIBeta1.5.0
脚本 IDE 支持Beta适用于 IntelliJ IDEA 2023.1 及更高版本
CLI 脚本Alpha1.2.0

语言特性和设计提案

有关语言特性和新设计提案,请参阅