Spec-Zone.ru › Kotlin 1.7

Устойчивость компонентов Kotlin

Язык и инструментарий Kotlin разделены на множество компонентов, таких как компиляторы для целей JVM, JS и Native, стандартная библиотека, различные вспомогательные инструменты и так далее. Многие из этих компонентов были официально выпущены как Стабильные, что означает, что они развиваются в обратной совместимой манере, следуя принципам принципов Комфортных обновлений и Сохранение современности языка. Среди таких стабильных компонентов, например, компилятор Kotlin для JVM, стандартная библиотека и сопрограммы.

Следуя принципу Цикла обратной связи, мы выпускаем много вещей предварительно для тестирования сообществом, поэтому ряд компонентов еще не выпущен как Стабильные. Некоторые из них находятся на очень ранней стадии, некоторые более зрелые. Мы помечаем их как Экспериментальные, Альфа или Бета, в зависимости от того, насколько быстро развивается каждый компонент и насколько велик риск для пользователей при его использовании.

Подробное описание уровней стабильности

Вот краткое руководство по этим уровням стабильности и их значению:

Экспериментальный означает «пробовать только в учебных проектах»:

  • Мы просто тестируем идею и хотим, чтобы некоторые пользователи поиграли с ней и предоставили отзывы. Если это не сработает, мы можем отказаться от нее в любой момент.

Альфа означает «использовать на свой страх и риск, ожидайте проблем с миграцией»:

  • Мы решили внедрить эту идею в продукт, но она еще не достигла окончательной формы.

Бета означает «вы можете использовать его, мы сделаем все возможное, чтобы свести к минимуму проблемы с миграцией для вас»:

  • Он почти готов, отзывы пользователей сейчас особенно важны.

  • Тем не менее, он не закончен на 100%, поэтому возможны изменения (включая те, которые основаны на ваших отзывах).

  • Следите за предупреждениями об устаревании заранее, чтобы получить наилучший опыт обновления.

Мы собирательно называем Экспериментальный, Альфа и Бета уровнями до-стабильности.

Стабильный означает «используйте его даже в самых консервативных сценариях»:

  • Это завершено. Мы будем развивать его в соответствии с нашими строгими правилами обратной совместимости.

Обратите внимание, что уровни стабильности ничего не говорят о том, как скоро компонент будет выпущен как Стабильный. Аналогично, они не указывают, насколько компонент будет изменен перед выпуском. Они только говорят, насколько быстро изменяется компонент и какой риск проблем с обновлениями несут пользователи.

Значки GitHub для компонентов Kotlin

Организация Kotlin на GitHub размещает различные проекты, относящиеся к Kotlin. Некоторые из них мы разрабатываем постоянно, другие являются побочными проектами.

Каждый проект Kotlin имеет два значка GitHub, описывающие его стабильность и статус поддержки:

  • Статус стабильности. Это показывает, насколько быстро развивается каждый проект и какой риск несут пользователи при его использовании. Статус стабильности полностью совпадает с уровнем стабильности функций языка Kotlin и его компонентов:

    • Experimental stability level означает Экспериментальный

    • Alpha stability level означает Альфа

    • Beta stability level означает Бета

    • Stable stability level означает Стабильный

  • Статус поддержки. Это показывает нашу приверженность поддержанию проекта и оказанию помощи пользователям в решении их проблем. Уровень поддержки унифицирован для всех продуктов JetBrains.
    Подробнее см. в документе JetBrains Confluence.

Устойчивость подкомпонентов

Стабильный компонент может иметь экспериментальный подкомпонент, например:

  • стабильный компилятор может иметь экспериментальную функцию;

  • стабильный API может включать экспериментальные классы или функции;

  • стабильный инструмент командной строки может иметь экспериментальные параметры.

Мы уделяем особое внимание документированию подкомпонентов, которые не являются стабильными. Мы также делаем все возможное, чтобы предупредить пользователей, где это возможно, и просим их явно включиться в использование функций, которые не были выпущены как стабильные.

END_OF_DOCUMENT_MARKER

Текущая стабильность компонентов 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

Все остальные экспериментальные компоненты по умолчанию

Экспериментальная

Н/Д

Предыдущая версия страницы (до 1.4) доступна здесь.

Последнее изменение: 06 сентября 2022
Эволюция Kotlin Стабильность компонентов Kotlin (до 1.4)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API