跳至主要内容

Kotlin 組件的穩定性

Kotlin 語言和工具集被劃分為許多元件,例如用於 JVM、JS 和 Native 目標的編譯器、標準函式庫、各種附屬工具等等。 其中許多元件已正式發佈為 Stable(穩定版),這意味著它們以向後相容的方式發展,並遵循 舒適更新」和「保持語言現代化」原則

遵循「回饋迴圈」原則,我們儘早發佈許多內容供社群試用,因此許多元件尚未發佈為 Stable(穩定版)。 其中一些處於非常早期的階段,一些則更成熟。 我們會根據每個元件的發展速度以及使用者採用它所承擔的風險,將它們標記為 Experimental(實驗性)、**Alpha(Alpha 版)**或 Beta(Beta 版)

穩定性等級說明

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

Experimental(實驗性) 表示「僅在玩具專案中嘗試」:

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

Alpha(Alpha 版) 表示「使用風險自負,預期會有遷移問題」:

  • 我們打算將這個想法產品化,但它尚未達到最終形態。

Beta(Beta 版) 表示「您可以使用它,我們將盡最大努力減少您的遷移問題」:

  • 它幾乎完成了,使用者回饋現在尤其重要。
  • 儘管如此,它並非 100% 完成,因此可能會進行更改(包括基於您自己回饋的更改)。
  • 提前注意棄用警告,以獲得最佳更新體驗。

我們統稱 Experimental(實驗性)Alpha(Alpha 版)Beta(Beta 版)pre-stable(預穩定) 等級。

Stable(穩定版) 表示「即使在最保守的情況下也可以使用它」:

請注意,穩定性等級並未說明元件何時會發佈為 Stable(穩定版)。同樣,它們也沒有說明元件在發佈前會更改多少。它們僅說明元件的變更速度以及使用者面臨的更新問題風險有多大。

Kotlin 元件的 GitHub 徽章

Kotlin GitHub 組織 託管了不同的 Kotlin 相關專案。 其中一些是我們全職開發的,而另一些則是副專案。

每個 Kotlin 專案都有兩個 GitHub 徽章,用於描述其穩定性和支援狀態:

  • Stability(穩定性) 狀態。這顯示了每個專案的發展速度以及使用者採用它所承擔的風險。 穩定性狀態與 Kotlin 語言特性及其元件的穩定性等級 完全一致:

    • Experimental stability level 代表 Experimental(實驗性)
    • Alpha stability level 代表 Alpha(Alpha 版)
    • Beta stability level 代表 Beta(Beta 版)
    • Stable stability level 代表 Stable(穩定版)
  • Support(支援) 狀態。這顯示了我們對維護專案和幫助使用者解決問題的承諾。 支援等級對於所有 JetBrains 產品都是統一的。 有關詳細資訊,請參閱 JetBrains Open Source 文件

子元件的穩定性

一個穩定的元件可能有一個實驗性的子元件,例如:

  • 一個穩定的編譯器可能有一個實驗性的功能;
  • 一個穩定的 API 可能包含實驗性的類別或函式;
  • 一個穩定的命令列工具可能具有實驗性的選項。

我們確保準確記錄哪些子元件不是 Stable(穩定版)。 我們也會盡力在可能的情況下警告使用者,並要求他們明確選擇加入,以避免意外使用尚未發佈為穩定版的功能。

Kotlin 元件的目前穩定性

備註

預設情況下,所有新元件都具有 Experimental(實驗性)狀態。

Kotlin 編譯器

Component(元件)Status(狀態)Status since version(狀態起始版本)Comments(備註)
Kotlin/JVMStable(穩定版)1.0.0
Kotlin/NativeStable(穩定版)1.9.0
Kotlin/JSStable(穩定版)1.3.0
Kotlin/WasmAlpha(Alpha 版)1.9.20
Analysis APIStable(穩定版)

核心編譯器外掛程式

Component(元件)Status(狀態)Status since version(狀態起始版本)Comments(備註)
All-openStable(穩定版)1.3.0
No-argStable(穩定版)1.3.0
SAM-with-receiverStable(穩定版)1.3.0
kaptStable(穩定版)1.3.0
LombokExperimental(實驗性)1.5.20
Power-assertExperimental(實驗性)2.0.0

Kotlin 函式庫

Component(元件)Status(狀態)Status since version(狀態起始版本)Comments(備註)
kotlin-stdlib (JVM)Stable(穩定版)1.0.0
kotlinx-coroutinesStable(穩定版)1.3.0
kotlinx-serializationStable(穩定版)1.0.0
kotlin-metadata-jvmStable(穩定版)2.0.0
kotlin-reflect (JVM)Beta(Beta 版)1.0.0
kotlinx-datetimeAlpha(Alpha 版)0.2.0
kotlinx-ioAlpha(Alpha 版)0.2.0

Kotlin Multiplatform

Component(元件)Status(狀態)Status since version(狀態起始版本)Comments(備註)
Kotlin MultiplatformStable(穩定版)1.9.20
Kotlin Multiplatform plugin for Android StudioBeta(Beta 版)0.8.0Versioned separately from the language

Kotlin/Native

Component(元件)Status(狀態)Status since version(狀態起始版本)Comments(備註)
Kotlin/Native RuntimeStable(穩定版)1.9.20
Kotlin/Native interop with C and Objective-CBeta(Beta 版)1.3.0
klib binariesStable(穩定版)1.9.20Not including cinterop klibs, see below
cinterop klib binariesBeta(Beta 版)1.3.0
CocoaPods integrationStable(穩定版)1.9.20

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

語言工具

Component(元件)Status(狀態)Status since version(狀態起始版本)Comments(備註)
Scripting syntax and semanticsAlpha(Alpha 版)1.2.0
Scripting embedding and extension APIBeta(Beta 版)1.5.0
Scripting IDE supportBeta(Beta 版)Available since IntelliJ IDEA 2023.1 and later
CLI scriptingAlpha(Alpha 版)1.2.0

語言特性和設計提案

有關語言特性和新設計提案,請參閱