[解決済み] 実験的な "Kotlinコルーチン "は実運用に使えるか?
質問
Kotlinのコルーチンは実運用に使えるのか、またその実験的なステータスはどのような意味を持つのか?
どのように解決するのですか?
アップデイト : KotlinのコルーチンはKotlin 1.3から実験的なものではなくなりました。
Kotlinのコルーチンは実運用で使用することができ、またそうする必要があります。それが、Kotlin 1.1 で公式にリリースした最大の理由でした。それをリリースしたことで、JetBrains チームは、複雑な実稼働アプリケーションで安全に試すことができるようにしながら、マイナー リリースで進化しながら導入されるすべての変更に関して後方互換性を維持することを約束したのです。
要するに、「実験的な」機能と「通常の」機能の違いは、通常の Kotlin 機能では、完全な互換性が保証されているため、マイナー アップデートで新しいものを追加できないのに対し、実験的な機能では新しいものを追加できますが、(後方互換性が保証されているため)何も削除することはできないということです。
実験的なコルーチンは別の
kotlin.coroutines.experimental
パッケージ名を使用し、コルーチンの設計が確定し
kotlin.coroutines
パッケージに移行しても、古いコンパイル済みのコードは壊れず、別のサポートライブラリを介して動作し続けることができます。
なぜそれらが実験的なものなのか、そしてそれが何を意味するのかについてのさらなる議論 (長い読み物) は、以下のページにあります。 フォーラムへの投稿 Andrey Breslav によるものです。
同じ質問がコルーチンサポートライブラリにも当てはまります。
現在のバージョンの
kotlinx.coroutines
は実稼働用に設計されています。テストは十分に行われ、多くのものがすでに最適化されており、すべての変更は以前にコンパイルされたコードとの後方互換性の問題を考慮して行われます。確かに、コルーチンベースの様々なもののテストベッドとして機能しているので、対応する関数やクラスのドキュメントには、明確に "作業中" や "不安定" としてマークされている部分がいくつかあります。しかし、デフォルトでは、すべてのパブリック API は
kotlinx.coroutines
にあるすべての公開 API は安定していると考えられ、必要であれば適切な移行支援によって進化しています。
関連
-
[解決済み] 残念ながらMyAppは停止してしまいました。どうすればよいですか?
-
[解決済み] Kotlinのvarとvalの違いは何ですか?
-
[解決済み】Kotlinのコルーチンにおけるlaunch/joinとasync/awaitの違いとは?
-
[解決済み】「不適切なブロッキングメソッドの呼び出し」を適切にする方法は?
-
[解決済み] Kotlinにコンストラクタ参照はありますか?
-
[解決済み] Kotlinで多くの例外を同時にキャッチするには?
-
[解決済み] Safeargsライブラリがディレクションクラスを生成しない
-
[解決済み] Kotlinのゲッターとセッター
-
[解決済み] KotlinのコルーチンはRxKotlinよりどう優れているか?
-
[解決済み] Kotlinにおけるスレッドとコルーチンの違い
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Kotlinにコンストラクタ参照はありますか?
-
[解決済み] KotlinでNullチェックを行う最良の方法とは?
-
[解決済み] Kotlin データクラスのオーバーライドゲッター
-
[解決済み] Kotlin: withContext() vs Async-await
-
[解決済み] Kotlinで抽象クラスのインスタンスを生成する
-
[解決済み] KotlinのIntArrayとArray<Int>の比較
-
[解決済み] KotlinのIterableとSequenceは全く同じに見える。なぜ2つの型が必要なのでしょうか?
-
[解決済み] kotlin.jvm.KotlinReflectionNotSupportedError.KotlinReflectionNotSupportedError.KotlinReflectionNotSupportedError: ランタイムにKotlin Reflectionの実装が見つかりませんでした。kotlin-reflect.jar があることを確認してください。
-
[解決済み] Kotlin - ボイド vs. ユニット vs. ナッシング
-
[解決済み] アダプターまたはViewHolderでのKotlin合成