Kotlin协程可以用于生产中吗?它们的实验状态意味着什么?
Kotlin协程可以用于生产中吗?它们的实验状态意味着什么?
Answers:
更新:从Kotlin 1.3开始,Kotlin协程不再具有实验性。
Kotlin协程可以并且应该在生产中使用。这是在Kotlin 1.1中正式发布它们的主要原因。在发布它们之后,JetBrains团队致力于保持向后兼容性,以随着次版本的发展而对次版本中引入的任何更改保持一致,同时允许人们在复杂的生产应用中安全地进行尝试。
简而言之,“实验”功能和“普通”功能之间的区别在于,对于普通Kotlin功能,由于具有“完全兼容性”保证,因此不能在次要更新中添加新内容,而对于实验功能,可以添加新内容,但不能删除任何内容(因为向后兼容保证)。
实验性协程使用单独的kotlin.coroutines.experimental
程序包名称,因此当协程设计最终确定并移至kotlin.coroutines
程序包时,旧的已编译代码不会中断,但会通过单独的支持库继续工作。
关于它们为什么是“实验性的”以及这意味着什么的进一步讨论(长期阅读)可以在Andrey Breslav的论坛帖子中找到。
相同的问题适用于协程支持库。
当前版本kotlinx.coroutines
是供生产使用的。它涵盖了相当多的测试,已经对许多事情进行了优化,所有更改都考虑到了与先前编译的代码的向后兼容性问题。它当然可以作为各种基于协程的事物的试验台,因此在相应功能和类的文档中,有些部分被明确标记为“进行中”或“不稳定”。但是,默认情况下,所有公共APIkotlinx.coroutines
都被认为是稳定的,并在需要时借助适当的迁移工具进行了改进。
The feature "coroutines" is experimental (see more here)
并链接到kotlinlang.org/docs/diagnostics/experimental-coroutines.html