メインコンテンツまでスキップ

Kotlinコンポーネントの安定性

Kotlinの言語およびツールセットは、JVM、JS、およびNativeターゲット用のコンパイラ、標準ライブラリ、さまざまな付属ツールなど、多くのコンポーネントに分かれています。これらのコンポーネントの多くは、Stableとして正式にリリースされています。これは、快適なアップデート」と「言語の現代性の維持」の原則に従って、下位互換性を維持しながら進化していることを意味します。

_フィードバックループ_の原則に従い、コミュニティが試せるように多くのものを早期にリリースしているため、多くのコンポーネントはまだStableとしてリリースされていません。それらの中には非常に初期段階のものもあれば、より成熟したものもあります。各コンポーネントの進化の速さと、ユーザーが採用する際のリスクのレベルに応じて、ExperimentalAlpha、またはBetaとしてマークします。

安定性レベルの説明

これらの安定性レベルとその意味に関する簡単なガイドを次に示します。

Experimentalは、「おもちゃのプロジェクトでのみ試してください」を意味します。

  • アイデアを試しているだけで、一部のユーザーに試してもらってフィードバックを得たいと考えています。うまくいかない場合は、すぐに削除する可能性があります。

Alphaは、「自己責任で使用してください。移行の問題が発生する可能性があります」を意味します。

  • このアイデアを製品化する予定ですが、まだ最終的な形にはなっていません。

Betaは、「使用できます。移行の問題を最小限に抑えるよう最善を尽くします」を意味します。

  • ほぼ完了しており、ユーザーからのフィードバックは特に重要です。
  • それでも、100%完了しているわけではないため、(あなた自身のフィードバックに基づいて)変更される可能性があります。
  • 最高のアップデート体験のために、事前に非推奨の警告に注意してください。

ExperimentalAlpha、および_Beta_をまとめてpre-stableレベルと呼びます。

Stableは、「最も保守的なシナリオでも使用できます」を意味します。

安定性レベルは、コンポーネントがStableとしていつリリースされるかについては何も示していないことに注意してください。同様に、コンポーネントがリリース前にどれだけ変更されるかを示すものでもありません。コンポーネントがどれだけ速く変化しているか、およびユーザーがアップデートの問題にどれだけリスクを冒しているかを示すだけです。

KotlinコンポーネントのGitHubバッジ

Kotlin GitHub organizationは、Kotlin関連のさまざまなプロジェクトをホストしています。そのうちのいくつかはフルタイムで開発し、他のものはサイドプロジェクトです。

各Kotlinプロジェクトには、その安定性とサポートステータスを示す2つのGitHubバッジがあります。

サブコンポーネントの安定性

安定したコンポーネントには、実験的なサブコンポーネントが含まれている場合があります。たとえば、次のようになります。

  • 安定したコンパイラには、実験的な機能がある場合があります。
  • 安定したAPIには、実験的なクラスまたは関数が含まれている場合があります。
  • 安定したコマンドラインツールには、実験的なオプションがある場合があります。

どのサブコンポーネントがStableでないかを正確に文書化するようにしています。また、可能な限りユーザーに警告し、安定版としてリリースされていない機能の誤用を避けるために、明示的にオプトインするように依頼するように最善を尽くします。

Kotlinコンポーネントの現在の安定性

注記

デフォルトでは、すべての新しいコンポーネントはExperimentalステータスを持ちます。

Kotlinコンパイラ

ComponentStatusStatus since versionComments
Kotlin/JVMStable1.0.0
Kotlin/NativeStable1.9.0
Kotlin/JSStable1.3.0
Kotlin/WasmAlpha1.9.20
Analysis APIStable

コアコンパイラプラグイン

ComponentStatusStatus since versionComments
All-openStable1.3.0
No-argStable1.3.0
SAM-with-receiverStable1.3.0
kaptStable1.3.0
LombokExperimental1.5.20
Power-assertExperimental2.0.0

Kotlinライブラリ

ComponentStatusStatus since versionComments
kotlin-stdlib (JVM)Stable1.0.0
kotlinx-coroutinesStable1.3.0
kotlinx-serializationStable1.0.0
kotlin-metadata-jvmStable2.0.0
kotlin-reflect (JVM)Beta1.0.0
kotlinx-datetimeAlpha0.2.0
kotlinx-ioAlpha0.2.0

Kotlin Multiplatform

ComponentStatusStatus since versionComments
Kotlin MultiplatformStable1.9.20
Kotlin Multiplatform plugin for Android StudioBeta0.8.0Versioned separately from the language

Kotlin/Native

ComponentStatusStatus since versionComments
Kotlin/Native RuntimeStable1.9.20
Kotlin/Native interop with C and Objective-CBeta1.3.0
klib binariesStable1.9.20Not including cinterop klibs, see below
cinterop klib binariesBeta1.3.0
CocoaPods integrationStable1.9.20

Kotlin/Nativeターゲットのサポートの詳細については、を参照してください。

言語ツール

ComponentStatusStatus since versionComments
Scripting syntax and semanticsAlpha1.2.0
Scripting embedding and extension APIBeta1.5.0
Scripting IDE supportBetaAvailable since IntelliJ IDEA 2023.1 and later
CLI scriptingAlpha1.2.0

言語機能と設計提案

言語機能と新しい設計提案については、を参照してください。