Могут ли "экспериментальные" Сорокины Котлина быть использованы в производстве?
можно ли использовать сопрограммы Kotlin в производстве, и что означает их экспериментальный статус?
1 ответ:
Сорокины Котлина могут и должны использоваться в производстве. Это было главной причиной для официального выпуска их в Котлине 1.1. Выпустив их, команда JetBrains взяла на себя обязательство поддерживать обратную совместимость в отношении любых изменений, которые вводятся в них в небольших выпусках по мере их развития, позволяя людям безопасно попробовать их в сложных производственных приложениях.
короче говоря, разница между "экспериментальными" и "нормальными" функциями заключается в том, что для обычные функции Kotlin новые материалы не могут быть добавлены в незначительных обновлениях, потому что есть гарантия" полной совместимости", в то время как для экспериментальных функций новые материалы могут быть добавлены, но ничего не может быть удалено (из-за гарантии обратной совместимости).
экспериментальные сопрограммы используют отдельный
kotlin.coroutines.experimental
имя пакета, так что когда дизайн сопрограммы будет завершен, и они перейдут кkotlin.coroutines
пакета, старый скомпилированный код не сломается, но будет продолжать работать через отдельную поддержки библиотека.дальнейшее обсуждение (долгое чтение) о том, почему они являются "экспериментальными" и что это значит, можно найти в этом сообщение на форуме Андрей Бреслав.
тот же вопрос относится к библиотекам поддержки сопрограмм.
текущая версия
kotlinx.coroutines
предназначен для использования в производстве. Он довольно хорошо покрыт тестами, многие вещи уже оптимизированы, все изменения сделаны с учетом вопросов обратной совместимости с ранее скомпилированный код. Он, безусловно, служит в качестве испытательного стенда для различных сопрограммных вещей, поэтому есть некоторые части, которые четко обозначены как "незавершенное производство" или "нестабильное" в документации соответствующих функций и классов. Однако по умолчанию все общедоступные API вkotlinx.coroutines
считаются стабильными и развиваются, если это необходимо, с соответствующими средствами миграции.