Spec-Zone.ru › Kotlin 1.8

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

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

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

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

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

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

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

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

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

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

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

  • Тем не менее, она ещё не на 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)

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 новый менеджер памяти

Beta

1.7.20

klib binaries

Alpha

1.4

Kotlin Multiplatform

Beta

1.7.20

Kotlin/Native взаимодействие с C и Objective C

Beta

1.3

CocoaPods integration

Beta

1.3

Плагин Kotlin Multiplatform Mobile для Android Studio

Alpha

0.3.0

Версия отличается от версии языка

Функция языка expect/actual

Beta

1.2

Синтаксис KDoc

Стабильный

1.0

Dokka

Beta

1.6

Синтаксис и семантика скриптов

Alpha

1.2

Встраивание скриптов и API расширений

Beta

1.5

Поддержка скриптов в IDE

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

1.2

Скрипты CLI

Alpha

1.2

API плагина компилятора

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

1.0

Плагин сериализации компилятора

Стабильный

1.4

Базовая библиотека сериализации

Стабильный

1.0.0

Версия отличается от версии языка

Встроенные классы

Стабильный

1.5

Беззнаковая арифметика

Стабильный

1.5

Contracts in stdlib

Стабильный

1.3

Контракты, определяемые пользователем

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

1.3

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

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

N/A

Версия этой страницы до 1.4 доступна здесь.

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

© 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

Spec-Zone.ru

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