Skip to content

Kotlin 組件的穩定性

Kotlin 語言和工具集被劃分為許多組件,例如針對 JVM、JS 和 Native 目標的編譯器、標準函式庫以及各種伴隨工具等等。 這些組件中有許多已正式發布為 穩定版,這表示它們是依循《舒適更新》和《保持語言現代化》原則以向下兼容的方式演進的。

遵循《回饋迴圈》原則,我們提早發布了許多內容供社群試用,因此許多組件尚未發布為 穩定版。 其中有些處於非常早期的階段,有些則更為成熟。 我們會根據每個組件的演進速度以及使用者採用時所承擔的風險程度,將它們標記為 實驗性Alpha 版Beta 版

穩定性等級說明

以下是這些穩定性等級及其含義的快速指南:

實驗性 表示「僅限於試驗專案中使用」:

  • 我們只是在嘗試一個想法,希望一些使用者試用並提供回饋。如果行不通,我們可能會隨時放棄它。

Alpha 版 表示「風險自負,預期會出現遷移問題」:

  • 我們打算將這個想法產品化,但它尚未定型。

Beta 版 表示「你可以使用它,我們將盡力為你最大程度地減少遷移問題」:

  • 它幾乎完成,使用者回饋現在尤其重要。
  • 儘管如此,它尚未 100% 完成,因此仍有可能會變動(包括根據你自身回饋的變動)。
  • 請提前留意棄用警告,以獲得最佳的更新體驗。

我們統稱 實驗性Alpha 版Beta 版預穩定版 等級。

穩定版 表示「即使在最保守的場景下也可以使用」:

請注意,穩定性等級並未說明組件將多快發布為穩定版。同樣,它們也未指出組件在發布前會有多大程度的變更。它們僅說明組件變更的速度以及使用者在更新時所面臨的問題風險。

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/WasmAlpha 版1.9.20
分析 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)Beta 版1.0.0
kotlinx-datetimeAlpha 版0.2.0
kotlinx-ioAlpha 版0.2.0

Kotlin 多平台

組件狀態狀態版本備註
Kotlin 多平台穩定版1.9.20
適用於 Android Studio 的 Kotlin 多平台外掛程式Beta 版0.8.0與語言分開版本化

Kotlin/Native

組件狀態狀態版本備註
Kotlin/Native 執行時穩定版1.9.20
Kotlin/Native 與 C 和 Objective-C 的互通Beta 版1.3.0
klib 二進位檔穩定版1.9.20不包括 cinterop klibs,請參閱下文
cinterop klib 二進位檔Beta 版1.3.0
CocoaPods 整合穩定版1.9.20

有關 Kotlin/Native 目標支援的詳細資訊,請參閱

語言工具

組件狀態狀態版本備註
指令碼語法和語義Alpha 版1.2.0
指令碼嵌入與擴充 APIBeta 版1.5.0
指令碼 IDE 支援Beta 版自 IntelliJ IDEA 2023.1 及更高版本起可用
CLI 指令碼Alpha 版1.2.0

語言功能和設計提案

有關語言功能和新設計提案,請參閱