Kotlinコルーチンを本番環境で使用できますか?また、それらの実験ステータスはどういう意味ですか?
回答:
更新:Kotlinコルーチンは、Kotlin1.3以降実験的ではなくなりました。
Kotlinコルーチンは、本番環境で使用でき、使用する必要があります。これが、Kotlin1.1で正式にリリースした主な理由です。それらをリリースした後、JetBrainsチームは、マイナーリリースで導入された変更に関して、複雑な本番アプリケーションで安全に試すことができるようにしながら、下位互換性を維持することを約束しました。
つまり、「実験的」機能と「通常」機能の違いは、通常のKotlin機能の場合、「完全な互換性」が保証されているため、マイナーアップデートで新しいものを追加できないことです。実験的機能の場合は、新しいものを追加できます。ただし、何も削除できません(下位互換性が保証されているため)。
実験的なコルーチンは別のkotlin.coroutines.experimental
パッケージ名を使用するため、コルーチンの設計が完了してkotlin.coroutines
パッケージに移動しても、古いコンパイル済みコードは壊れませんが、別のサポートライブラリを介して引き続き機能します。
それらが「実験的」である理由とこれが何を意味するかについてのさらなる議論(長い間)は、AndreyBreslavによるこのフォーラム投稿で見つけることができます。
同じ質問がコルーチンサポートライブラリにも当てはまります。
の現在のバージョンkotlinx.coroutines
は、実稼働用に設計されています。それはテストでかなりカバーされており、多くのものはすでに最適化されており、すべての変更は以前にコンパイルされたコードとの下位互換性の問題を考慮して行われます。それは確かにさまざまなコルーチンベースのもののテストベッドとして機能するので、対応する関数とクラスのドキュメントで「進行中」または「不安定」と明確にマークされている部分がいくつかあります。ただし、デフォルトでは、のすべてのパブリックAPIはkotlinx.coroutines
安定していると見なされ、必要に応じて適切な移行支援機能を使用して進化しています。
The feature "coroutines" is experimental (see more here)
、kotlinlang.org