¿Por qué las corutinas en Kotlin son mejores que RxKotlin para tareas asíncronas?
¡Hola a todos! Recientemente comencé a estudiar Kotlin para desarrollo Android y me enfrenté a la elección: usar corutinas o RxKotlin. En internet hay muchos debates y estoy confundido.
Escribí un pequeño ejemplo en RxKotlin que carga datos de la red y actualiza la UI:
```kotlin
fun loadUserData() {
Observable.fromCallable { api.getUser() }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ user -> textView.text = user.name },
{ error -> Log.e("TAG", "Error: ${error.message}") }
)
}
```
Esto funciona, pero el código parece demasiado verboso. Me dijeron que las corutinas son más simples y ligeras. Intenté escribir lo mismo con corutinas:
```kotlin
fun loadUserData() {
CoroutineScope(Dispatchers.Main).launch {
val user = withContext(Dispatchers.IO) { api.getUser() }
textView.text = user.name
}
}
```
Efectivamente, hay menos código, pero no entiendo: ¿cuáles son las ventajas reales?