Avatar ·

Pourquoi les coroutines en Kotlin sont-elles meilleures que RxKotlin pour les tâches asynchrones ?

Bonjour à tous ! J'ai récemment commencé à étudier Kotlin pour le développement Android et j'ai été confronté à un choix : utiliser les coroutines ou RxKotlin. Il y a beaucoup de débats sur Internet et je suis confus. J'ai écrit un petit exemple avec RxKotlin qui charge des données depuis le réseau et met à jour l'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}") } ) } ``` Cela fonctionne, mais le code semble trop lourd. On m'a dit que les coroutines sont plus simples et plus légères. J'ai essayé d'écrire la même chose avec des coroutines : ```kotlin fun loadUserData() { CoroutineScope(Dispatchers.Main).launch { val user = withContext(Dispatchers.IO) { api.getUser() } textView.text = user.name } } ``` Effectivement, il y a moins de code, mais je ne comprends pas : quels sont les véritables avantages