可以在生产中使用“实验性” Kotlin协程吗?

Kotlin协程可以用于生产中吗?它们的实验状态意味着什么?

1个解决方案
97 votes

更新:从Kotlin 1.3开始,Kotlin协程不再具有实验性。

Kotlin协程可以并且应该在生产中使用。 这是在Kotlin 1.1中正式发布它们的主要原因。 在发布它们之后,JetBrains团队致力于保持向后兼容性,以适应次版本中随着它们的发展而引入的任何更改,同时允许人们在复杂的生产应用程序中安全地进行尝试。

简而言之,“实验性”功能与“普通”功能之间的区别在于,对于普通Kotlin功能,由于具有“完全兼容性”保证,因此不能在次要更新中添加新内容,而对于实验性功能,可以添加新内容, 但不能删除任何内容(因为向后兼容保证)。

实验性协程使用单独的kotlinx.coroutines程序包名称,因此当协程设计最终确定并移至kotlinx.coroutines程序包时,旧的编译代码不会中断,但会通过单独的支持库继续工作。

关于它们为什么是“实验性的”以及这意味着什么的进一步讨论(长期阅读)可以在Andrey Breslav的论坛帖子中找到。

同样的问题适用于协程支持库。

当前版本的kotlinx.coroutines设计用于生产。 它涵盖了相当多的测试,已经对许多事情进行了优化,所有更改都考虑到了与先前编译的代码的向后兼容性问题。 它确实可以用作各种基于协程的事物的试验台,因此在相应功能和类的文档中,有些部分被明确标记为“进行中”或“不稳定”。 但是,默认情况下,kotlinx.coroutines中的所有公共API都被认为是稳定的,并在需要时通过适当的迁移工具进行了改进。

Roman Elizarov answered 2019-09-27T06:49:12Z
translate from https://stackoverflow.com:/questions/46240236/can-experimental-kotlin-coroutines-be-used-in-production