Spec-Zone.ru › Kotlin 1.4

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

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

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

Уровни стабильности

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

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

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

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

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

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

  • Она почти готова, обратная связь пользователей сейчас особенно важна.
  • Тем не менее, она ещё не полностью завершена, поэтому возможны изменения (включая те, которые основаны на вашей обратной связи).
  • Следите за предупреждениями об устаревании для наилучшего опыта обновления.

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

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

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

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

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

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

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

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

Текущая устойчивость компонентов Kotlin

Компонент Статус Статус с версии Комментарий
Kotlin/JVM Стабильный 1.0
kotlin-stdlib (JVM) Стабильный 1.0
Корутины Стабильный 1.3
kotlin-reflect (JVM) Бета 1.0
Kotlin/JS (Классический бэкэнд) Стабильный 1.3
Kotlin/JVM (IR-основанный) Альфа 1.4
Kotlin/JS (IR-основанный) Альфа 1.4
Kotlin/Native Runtime Бета 1.3
KLib бинарники Альфа 1.4
Синтаксис KDoc Стабильный 1.0
dokka Альфа 0.1
Kotlin скрипты (*.kts) Бета 1.2
Kotlin скриптовые API и пользовательские хосты Альфа 1.2
API плагинов компилятора Экспериментальный 1.0
Плагин компилятора сериализации Стабильный 1.4
Ядро библиотеки сериализации Стабильный 1.0.0 Версионируется отдельно от языка
Многоплатформенные проекты Альфа 1.3
языковая функция expect/actual Бета 1.2
Встроенные классы Альфа 1.3
Беззнаковые арифметические операции Бета 1.3
Договоренности в stdlib Стабильный 1.3
Пользовательские договоренности Экспериментальный 1.3
Все остальные экспериментальные компоненты по умолчанию Экспериментальный Нет данных

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

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/reference/evolution/components-stability.html

Spec-Zone.ru

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