Устойчивость компонентов Kotlin
Язык и инструментарий Kotlin разделены на множество компонентов, таких как компиляторы для целей JVM, JS и Native, Стандартная библиотека, различные вспомогательные инструменты и так далее. Многие из этих компонентов были официально выпущены как Стабильные, что означает, что они развиваются в обратной совместимой манере, следуя принципам принципов Комфортных обновлений и Сохранения современности языка. К таким стабильным компонентам относятся, например, компилятор Kotlin для JVM, Стандартная библиотека и сопрограммы.
Следуя принципу Цикла обратной связи, мы выпускаем многие вещи рано для того, чтобы сообщество могло их опробовать, поэтому ряд компонентов еще не выпущены как Стабильные. Некоторые из них находятся на очень ранней стадии, другие — более зрелые. Мы отмечаем их как Экспериментальные, Альфа или Бета в зависимости от того, насколько быстро каждый компонент развивается и какой риск принимают пользователи, применяя его.
Объяснение уровней стабильности
Вот краткое руководство по этим уровням стабильности и их значению:
Экспериментальный означает «пробовать только в тестовых проектах»:
Мы просто пробуем идею и хотим, чтобы некоторые пользователи поиграли с ней и дали обратную связь. Если это не сработает, мы можем отбросить ее в любой момент.
Альфа означает «использовать на свой страх и риск, ожидайте проблем с миграцией»:
Мы решили коммерциализировать эту идею, но она еще не достигла окончательной формы.
Бета означает «вы можете использовать его, мы сделаем все возможное, чтобы свести к минимуму проблемы с миграцией для вас»:
Работа практически завершена, отзывы пользователей сейчас особенно важны.
Тем не менее, он еще не на 100% завершен, поэтому возможны изменения (включая изменения, основанные на ваших отзывах).
Следите за предупреждениями о устаревании заранее, чтобы получить лучшие впечатления от обновления.
Мы используем термин экспериментальный, альфа и бета как предварительные стабильные уровни.
Стабильный означает «использовать даже в самых консервативных сценариях»:
Работа завершена. Мы будем развивать его в соответствии с нашими строгими правилами обратной совместимости. правилами обратной совместимости.
Обратите внимание, что уровни стабильности ничего не говорят о том, как быстро компонент будет выпущен как Стабильный. Аналогично, они не указывают, насколько компонент будет изменен до выпуска. Они только говорят о том, насколько быстро изменяется компонент и какой риск обновления испытывают пользователи.
Значки GitHub для компонентов Kotlin
Организация GitHub Kotlin GitHub содержит различные проекты, связанные с Kotlin. Некоторые из них мы развиваем постоянно, другие — это проекты побочного характера.
Каждый проект Kotlin имеет два значка GitHub, описывающие его стабильность и статус поддержки:
-
Статус стабильности. Это показывает, насколько быстро каждый проект развивается и какой риск принимают пользователи при его использовании. Статус стабильности полностью совпадает с уровнем стабильности функций языка Kotlin и его компонентов:
обозначает Экспериментальный
обозначает Альфа
обозначает Бета
обозначает Стабильный
Статус поддержки. Это демонстрирует нашу приверженность поддержанию проекта и помощи пользователям в решении их проблем. Уровень поддержки унифицирован для всех продуктов JetBrains.
Подробнее см. документ JetBrains Confluence.
Устойчивость подкомпонентов
Стабильный компонент может иметь экспериментальный подкомпонент, например:
стабильный компилятор может иметь экспериментальную функцию;
стабильный API может включать экспериментальные классы или функции;
стабильный инструмент командной строки может иметь экспериментальные опции.
Мы гарантируем точное документирование подкомпонентов, не имеющих стабильного статуса. Мы также делаем все возможное, чтобы предупреждать пользователей, где это возможно, и просим явно включиться в использование функций, которые еще не были выпущены как стабильные.
Текущая стабильность компонентов Kotlin
Компонент |
Статус |
Статус с версии |
Комментарий |
|---|---|---|---|
Kotlin/JVM |
Стабильный |
1.0 |
|
Kotlin K2 (JVM) |
Alpha |
1.7 |
|
kotlin-stdlib (JVM) |
Стабильный |
1.0 |
|
Coroutines |
Стабильный |
1.3 |
|
kotlin-reflect (JVM) |
Beta |
1.0 |
|
Kotlin/JS (Classic back-end) |
Стабильный |
1.3 |
Устарел с версии 1.8.0, см. руководство по миграции IR |
Kotlin/JVM (IR-based) |
Стабильный |
1.5 |
|
Kotlin/JS (IR-based) |
Стабильный |
1.8 |
|
Kotlin/Native Runtime |
Beta |
1.3 |
|
Kotlin/Native memory manager |
Beta |
1.7.20 |
Уровень стабильности такой же, как у Kotlin/Native |
klib binaries |
Beta |
1.9.0 |
|
Kotlin Multiplatform |
Beta |
1.7.20 |
|
Kotlin/Native interop with C and Objective C |
Beta |
1.3 |
|
CocoaPods integration |
Beta |
1.3 |
|
Kotlin Multiplatform Mobile plugin for Android Studio |
Beta |
0.5.2 |
|
expect/actual language feature |
Beta |
1.2 |
|
KDoc syntax |
Стабильный |
1.0 |
|
Dokka |
Beta |
1.6 |
|
Scripting syntax and semantics |
Alpha |
1.2 |
|
Scripting embedding and extension API |
Beta |
1.5 |
|
Scripting IDE support |
Beta |
Доступно начиная с IntelliJ IDEA 2023.1 и более поздних версий |
|
CLI scripting |
Alpha |
1.2 |
|
Compiler Plugin API |
Experimental |
1.0 |
|
Serialization Compiler Plugin |
Стабильный |
1.4 |
|
Serialization Core Library |
Стабильный |
1.0.0 |
Версия отличается от версии языка |
Inline classes |
Стабильный |
1.5 |
|
Unsigned arithmetic |
Стабильный |
1.5 |
|
Contracts in stdlib |
Стабильный |
1.3 |
|
User-defined contracts |
Experimental |
1.3 |
|
Все остальные экспериментальные компоненты, по умолчанию |
Experimental |
N/A |
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/components-stability.html