1. ホーム
  2. kotlin

[解決済み] 実験的な "Kotlinコルーチン "は実運用に使えるか?

2023-04-27 08:52:50

質問

Kotlinのコルーチンは実運用に使えるのか、またその実験的なステータスはどのような意味を持つのか?

どのように解決するのですか?

アップデイト : KotlinのコルーチンはKotlin 1.3から実験的なものではなくなりました。

Kotlinのコルーチンは実運用で使用することができ、またそうする必要があります。それが、Kotlin 1.1 で公式にリリースした最大の理由でした。それをリリースしたことで、JetBrains チームは、複雑な実稼働アプリケーションで安全に試すことができるようにしながら、マイナー リリースで進化しながら導入されるすべての変更に関して後方互換性を維持することを約束したのです。

要するに、「実験的な」機能と「通常の」機能の違いは、通常の Kotlin 機能では、完全な互換性が保証されているため、マイナー アップデートで新しいものを追加できないのに対し、実験的な機能では新しいものを追加できますが、(後方互換性が保証されているため)何も削除することはできないということです。

実験的なコルーチンは別の kotlin.coroutines.experimental パッケージ名を使用し、コルーチンの設計が確定し kotlin.coroutines パッケージに移行しても、古いコンパイル済みのコードは壊れず、別のサポートライブラリを介して動作し続けることができます。

なぜそれらが実験的なものなのか、そしてそれが何を意味するのかについてのさらなる議論 (長い読み物) は、以下のページにあります。 フォーラムへの投稿 Andrey Breslav によるものです。

同じ質問がコルーチンサポートライブラリにも当てはまります。

現在のバージョンの kotlinx.coroutines は実稼働用に設計されています。テストは十分に行われ、多くのものがすでに最適化されており、すべての変更は以前にコンパイルされたコードとの後方互換性の問題を考慮して行われます。確かに、コルーチンベースの様々なもののテストベッドとして機能しているので、対応する関数やクラスのドキュメントには、明確に "作業中" や "不安定" としてマークされている部分がいくつかあります。しかし、デフォルトでは、すべてのパブリック API は kotlinx.coroutines にあるすべての公開 API は安定していると考えられ、必要であれば適切な移行支援によって進化しています。