Устойчивость компонентов Kotlin
Язык и инструментарий Kotlin разделены на множество компонентов, таких как компиляторы для целей JVM, JS и Native, стандартная библиотека, различные вспомогательные инструменты и так далее. Многие из этих компонентов были официально выпущены как Стабильные, что означает, что они развиваются в обратной совместимой манере, следуя принципам принципов Комфортных обновлений и Сохранение современности языка. Среди таких стабильных компонентов, например, компилятор Kotlin для JVM, стандартная библиотека и сопрограммы.
Следуя принципу Цикла обратной связи, мы выпускаем много вещей предварительно для тестирования сообществом, поэтому ряд компонентов еще не выпущен как Стабильные. Некоторые из них находятся на очень ранней стадии, некоторые более зрелые. Мы помечаем их как Экспериментальные, Альфа или Бета, в зависимости от того, насколько быстро развивается каждый компонент и насколько велик риск для пользователей при его использовании.
Подробное описание уровней стабильности
Вот краткое руководство по этим уровням стабильности и их значению:
Экспериментальный означает «пробовать только в учебных проектах»:
Мы просто тестируем идею и хотим, чтобы некоторые пользователи поиграли с ней и предоставили отзывы. Если это не сработает, мы можем отказаться от нее в любой момент.
Альфа означает «использовать на свой страх и риск, ожидайте проблем с миграцией»:
Мы решили внедрить эту идею в продукт, но она еще не достигла окончательной формы.
Бета означает «вы можете использовать его, мы сделаем все возможное, чтобы свести к минимуму проблемы с миграцией для вас»:
Он почти готов, отзывы пользователей сейчас особенно важны.
Тем не менее, он не закончен на 100%, поэтому возможны изменения (включая те, которые основаны на ваших отзывах).
Следите за предупреждениями об устаревании заранее, чтобы получить наилучший опыт обновления.
Мы собирательно называем Экспериментальный, Альфа и Бета уровнями до-стабильности.
Стабильный означает «используйте его даже в самых консервативных сценариях»:
Это завершено. Мы будем развивать его в соответствии с нашими строгими правилами обратной совместимости.
Обратите внимание, что уровни стабильности ничего не говорят о том, как скоро компонент будет выпущен как Стабильный. Аналогично, они не указывают, насколько компонент будет изменен перед выпуском. Они только говорят, насколько быстро изменяется компонент и какой риск проблем с обновлениями несут пользователи.
Значки GitHub для компонентов Kotlin
Организация Kotlin на GitHub размещает различные проекты, относящиеся к Kotlin. Некоторые из них мы разрабатываем постоянно, другие являются побочными проектами.
Каждый проект Kotlin имеет два значка GitHub, описывающие его стабильность и статус поддержки:
-
Статус стабильности. Это показывает, насколько быстро развивается каждый проект и какой риск несут пользователи при его использовании. Статус стабильности полностью совпадает с уровнем стабильности функций языка Kotlin и его компонентов:
означает Экспериментальный
означает Альфа
означает Бета
означает Стабильный
Статус поддержки. Это показывает нашу приверженность поддержанию проекта и оказанию помощи пользователям в решении их проблем. Уровень поддержки унифицирован для всех продуктов JetBrains.
Подробнее см. в документе JetBrains Confluence.
Устойчивость подкомпонентов
Стабильный компонент может иметь экспериментальный подкомпонент, например:
стабильный компилятор может иметь экспериментальную функцию;
стабильный API может включать экспериментальные классы или функции;
стабильный инструмент командной строки может иметь экспериментальные параметры.
Мы уделяем особое внимание документированию подкомпонентов, которые не являются стабильными. Мы также делаем все возможное, чтобы предупредить пользователей, где это возможно, и просим их явно включиться в использование функций, которые не были выпущены как стабильные.
Текущая стабильность компонентов Kotlin
Компонент |
Статус |
Статус с версии |
Комментарий |
|---|---|---|---|
Kotlin/JVM |
Стабильно |
1.0 |
|
Kotlin K2 (JVM) |
Альфа |
1.7 |
|
kotlin-stdlib (JVM) |
Стабильно |
1.0 |
|
Coroutines |
Стабильно |
1.3 |
|
kotlin-reflect (JVM) |
Бета |
1.0 |
|
Kotlin/JS (Классический бэкенд) |
Стабильно |
1.3 |
|
Kotlin/JVM (IR-based) |
Стабильно |
1.5 |
|
Kotlin/JS (IR-based) |
Бета |
1.5 |
|
Kotlin/Native Runtime |
Бета |
1.3 |
|
Kotlin/Native новый менеджер памяти |
Альфа |
1.6.20 |
|
klib binaries |
Альфа |
1.4 |
|
Мультиплатформенные проекты |
Альфа |
1.3 |
|
Kotlin/Native межплатформенное взаимодействие с C и Objective C |
Бета |
1.3 |
|
Интеграция CocoaPods |
Бета |
1.3 |
|
Плагин Kotlin Multiplatform Mobile для Android Studio |
Альфа |
0.3.0 |
|
Функция языка expect/actual |
Бета |
1.2 |
|
Синтаксис KDoc |
Стабильно |
1.0 |
|
Dokka |
Бета |
1.6 |
|
Синтаксис и семантика скриптов |
Альфа |
1.2 |
|
API встраивания и расширения скриптов |
Бета |
1.5 |
|
Поддержка скриптов в IDE |
Экспериментальная |
1.2 |
|
Скрипты CLI |
Альфа |
1.2 |
|
API плагинов компилятора |
Экспериментальная |
1.0 |
|
Плагин компилятора для сериализации |
Стабильно |
1.4 |
|
Сердцевина библиотеки сериализации |
Стабильно |
1.0.0 |
Раздельно версияруется от языка |
Встроенные классы |
Стабильно |
1.5 |
|
Целочисленные арифметические операции без знака |
Стабильно |
1.5 |
|
Контракты в stdlib |
Стабильно |
1.3 |
|
Пользовательские контракты |
Экспериментальная |
1.3 |
|
Все остальные экспериментальные компоненты по умолчанию |
Экспериментальная |
Н/Д |
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/components-stability.html