Kotlin coroutines are much more than just lightweight threads — they are a new paradigm that helps developers to deal with concurrency in a structured and idiomatic way. When developing an Android app one should consider many different things: taking long-running operations off the UI thread, handling lifecycle events, cancelling subscriptions, switching back to the UI thread to update the user in
![RxJava to Coroutines: end-to-end feature migration](https://cdn-ak-scissors.b.st-hatena.com/image/square/c2f6ca3cff6d0dd5c4a65639e0cbd8c2269bce7a/height=288;version=1;width=512/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A590%2F1%2Ac9C8SXCNIETPAiyrF0PmmA.png)