Стабильность компонентов Kotlin
Язык и набор инструментов Kotlin разделены на множество компонентов: компиляторы для целевых платформ JVM, JS и Native, стандартная библиотека, различные сопутствующие инструменты и так далее. Многие из этих компонентов были официально выпущены со статусом Стабильный, что означает, что они развивались с сохранением обратной совместимости в соответствии с принципами удобного обновления и поддержания актуальности языка.
Следуя принципу обратной связи, мы заблаговременно выпускаем многие компоненты, чтобы сообщество могло их опробовать, поэтому некоторые компоненты ещё не получили статус Стабильный. Некоторые из них находятся на самой ранней стадии, другие более зрелые. В зависимости от того, насколько быстро развивается каждый компонент и какому риску подвергаются пользователи при его внедрении, мы присваиваем ему статус Экспериментальный, Альфа или Бета.
Объяснение уровней стабильности
Краткое описание уровней стабильности и их значения:
Экспериментальный означает «пробуйте только в небольших тестовых проектах»:
Мы проверяем идею и оцениваем её осуществимость. Мы хотим, чтобы некоторые пользователи опробовали её и поделились отзывами. Область применения ограничена, а функция может измениться или исчезнуть в любой момент. Мы не гарантируем стабильность или совместимость.
Альфа означает «мы проверяем, следует ли довести эту функцию до готовности к использованию в рабочей среде»:
Мы намерены превратить это в продукт и проверяем его ценность для пользователей и соответствие рынку, чтобы определить окончательный вид. Набор функций всё ещё неполон, возможны несовместимые изменения. Если гипотеза не подтвердится, мы можем существенно изменить эту функцию или отказаться от неё.
Бета означает «вы можете использовать эту функцию, а мы постараемся свести к минимуму трудности при переходе на неё»:
Работа почти завершена, и сейчас отзывы пользователей особенно важны.
Однако функция ещё не полностью готова, поэтому возможны изменения (в том числе на основе ваших отзывов).
Чтобы упростить обновление, заранее следите за предупреждениями об устаревании.
Статусы Экспериментальный, Альфа и Бета мы вместе называем предварительными.
Стабильный означает «используйте даже в самых консервативных сценариях»:
Работа завершена. Мы будем развивать компонент в соответствии с нашими строгими правилами обратной совместимости.
Обратите внимание: уровни стабильности ничего не говорят о том, когда компонент получит статус «Стабильный». Аналогично, они не указывают, насколько сильно компонент изменится до выпуска. Они лишь показывают, как быстро меняется компонент и насколько пользователи рискуют столкнуться с проблемами при обновлении.
Значки GitHub для компонентов Kotlin
В организации Kotlin на GitHub размещены различные проекты, связанные с Kotlin. Некоторые из них мы разрабатываем на постоянной основе, другие являются побочными проектами.
У каждого проекта Kotlin есть два значка GitHub, описывающих его стабильность и статус поддержки:
-
Статус стабильности. Он показывает, насколько быстро развивается каждый проект и какому риску подвергаются пользователи при его внедрении. Статус стабильности полностью соответствует уровню стабильности языковых возможностей Kotlin и его компонентов:
означает статус Экспериментальный
означает статус Альфа
означает статус Бета
означает статус Стабильный
Статус поддержки. Он показывает, насколько мы готовы поддерживать проект и помогать пользователям решать их проблемы. Уровень поддержки един для всех продуктов JetBrains.
Подробности см. в документе JetBrains об открытом исходном коде.
Стабильность подкомпонентов
У стабильного компонента может быть экспериментальный подкомпонент. Например:
у стабильного компилятора может быть экспериментальная функция;
стабильный API может включать экспериментальные классы или функции;
у стабильного инструмента командной строки могут быть экспериментальные параметры.
Мы тщательно документируем, какие именно подкомпоненты не имеют статуса Стабильный. Мы также стараемся по возможности предупреждать пользователей и просим явно подтверждать использование таких компонентов, чтобы избежать случайного применения функций, выпущенных без статуса «Стабильный».
Текущая стабильность компонентов Kotlin
Компилятор Kotlin
Компонент |
Статус |
Статус начиная с версии |
Комментарии |
|---|---|---|---|
Kotlin/JVM |
Стабильный |
1.0.0 |
|
Kotlin/Native |
Стабильный |
1.9.0 |
|
Kotlin/JS |
Стабильный |
1.3.0 |
|
Kotlin/Wasm |
Бета |
2.2.20 |
|
Стабильный |
Основные плагины компилятора
Компонент |
Статус |
Статус начиная с версии |
Комментарии |
|---|---|---|---|
Стабильный |
1.3.0 |
||
Стабильный |
1.3.0 |
||
Стабильный |
1.3.0 |
||
Стабильный |
1.3.0 |
||
Альфа |
2.3.20 |
||
Экспериментальный |
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) |
Бета |
1.0.0 |
|
kotlinx-datetime |
Альфа |
0.2.0 |
|
kotlinx-io |
Альфа |
0.2.0 |
|
kotlinx-collections-immutable |
Альфа |
0.3.5 |
Kotlin Multiplatform
Компонент |
Статус |
Статус начиная с версии |
Комментарии |
|---|---|---|---|
Kotlin Multiplatform |
Стабильный |
1.9.20 |
|
Плагин Kotlin Multiplatform для Android Studio |
Бета |
0.8.0 |
Kotlin/Native
Компонент |
Статус |
Статус начиная с версии |
Комментарии |
|---|---|---|---|
Среда выполнения Kotlin/Native |
Стабильный |
1.9.20 |
|
Взаимодействие Kotlin/Native с C и Objective-C |
Бета |
1.3.0 |
|
Бинарные файлы klib |
Стабильный |
1.9.20 |
Не включая klib для cinterop; см. ниже |
Бинарные файлы klib для cinterop |
Бета |
1.3.0 |
|
Интеграция с CocoaPods |
Стабильный |
1.9.20 |
Дополнительные сведения об уровне поддержки различных целевых платформ см. в разделе Поддерживаемые целевые платформы и хосты Kotlin/Native.
Инструменты сборки
Компонент |
Статус |
Статус начиная с версии |
Комментарии |
|---|---|---|---|
Стабильный |
1.1.1 |
Плагин Kotlin Multiplatform Gradle имеет статус «Стабильный» начиная с Kotlin 1.9.20. |
|
Стабильный |
1.0.0 |
API инструментов сборки (BTA)
Компонент |
Статус |
Статус начиная с версии |
Комментарии |
|---|---|---|---|
BTA для JVM |
Бета |
2.4.20 |
|
BTA для JS |
Альфа |
2.4.20 |
|
BTA для Wasm |
Альфа |
2.4.20 |
Языковые инструменты
Компонент |
Статус |
Статус начиная с версии |
Комментарии |
|---|---|---|---|
Синтаксис и семантика скриптов |
Альфа |
1.2.0 |
|
Встраивание скриптов и API расширений |
Бета |
1.5.0 |
|
Поддержка скриптов в IDE |
Бета |
Доступно начиная с IntelliJ IDEA 2023.1 |
|
Скрипты CLI |
Альфа |
1.2.0 |
Языковые возможности и предложения по проектированию
Сведения о языковых возможностях и новых предложениях по проектированию см. в разделе Языковые возможности и предложения Kotlin.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/components-stability.html