Kotlin 組件的穩定性
Kotlin 語言和工具集被劃分為許多組件,例如針對 JVM、JS 和 Native 目標的編譯器、標準函式庫以及各種伴隨工具等等。 這些組件中有許多已正式發布為 穩定版,這表示它們是依循《舒適更新》和《保持語言現代化》原則以向下兼容的方式演進的。
遵循《回饋迴圈》原則,我們提早發布了許多內容供社群試用,因此許多組件尚未發布為 穩定版。 其中有些處於非常早期的階段,有些則更為成熟。 我們會根據每個組件的演進速度以及使用者採用時所承擔的風險程度,將它們標記為 實驗性、Alpha 版 或 Beta 版。
穩定性等級說明
以下是這些穩定性等級及其含義的快速指南:
實驗性 表示「僅限於試驗專案中使用」:
- 我們只是在嘗試一個想法,希望一些使用者試用並提供回饋。如果行不通,我們可能會隨時放棄它。
Alpha 版 表示「風險自負,預期會出現遷移問題」:
- 我們打算將這個想法產品化,但它尚未定型。
Beta 版 表示「你可以使用它,我們將盡力為你最大程度地減少遷移問題」:
- 它幾乎完成,使用者回饋現在尤其重要。
- 儘管如此,它尚未 100% 完成,因此仍有可能會變動(包括根據你自身回饋的變動)。
- 請提前留意棄用警告,以獲得最佳的更新體驗。
我們統稱 實驗性、Alpha 版 和 Beta 版 為 預穩定版 等級。
穩定版 表示「即使在最保守的場景下也可以使用」:
- 它已完成。我們將根據我們嚴格的向下兼容規則來演進它。
請注意,穩定性等級並未說明組件將多快發布為穩定版。同樣,它們也未指出組件在發布前會有多大程度的變更。它們僅說明組件變更的速度以及使用者在更新時所面臨的問題風險。
Kotlin 組件的 GitHub 徽章
Kotlin GitHub 組織託管了各種與 Kotlin 相關的專案。 其中一些是我們全職開發的,而另一些則是副專案。
每個 Kotlin 專案都有兩個 GitHub 徽章,描述其穩定性與支援狀態:
穩定性 狀態。這顯示了每個專案的演進速度以及使用者採用時所承擔的風險程度。 穩定性狀態與Kotlin 語言功能及其組件的穩定性等級完全一致:
代表 實驗性
代表 Alpha 版
代表 Beta 版
代表 穩定版
支援 狀態。這顯示了我們維護專案並協助使用者解決問題的承諾。 所有 JetBrains 產品的支援等級都是統一的。 請參閱 JetBrains 開源文件以了解詳情。
子組件的穩定性
一個穩定版組件可能擁有一個實驗性子組件,例如:
- 穩定版編譯器可能具有實驗性功能;
- 穩定版 API 可能包含實驗性類別或函式;
- 穩定版命令列工具可能具有實驗性選項。
我們確保精確地記錄哪些子組件不是 穩定版。 我們也盡力在可能的情況下警告使用者,並要求他們明確選擇啟用,以避免意外使用尚未發布為穩定版的功能。
Kotlin 組件的當前穩定性
NOTE
依預設,所有新組件都具有實驗性狀態。
Kotlin 編譯器
組件 | 狀態 | 狀態版本 | 備註 |
---|---|---|---|
Kotlin/JVM | 穩定版 | 1.0.0 | |
Kotlin/Native | 穩定版 | 1.9.0 | |
Kotlin/JS | 穩定版 | 1.3.0 | |
Kotlin/Wasm | Alpha 版 | 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-datetime | Alpha 版 | 0.2.0 | |
kotlinx-io | Alpha 版 | 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 |
語言工具
組件 | 狀態 | 狀態版本 | 備註 |
---|---|---|---|
指令碼語法和語義 | Alpha 版 | 1.2.0 | |
指令碼嵌入與擴充 API | Beta 版 | 1.5.0 | |
指令碼 IDE 支援 | Beta 版 | 自 IntelliJ IDEA 2023.1 及更高版本起可用 | |
CLI 指令碼 | Alpha 版 | 1.2.0 |