Ответ
Использование RxJava неоправданно в простых случаях, где код можно легко написать на корутинах или колбэках. Например:
- Одноразовые запросы – если нужен один API-запрос без сложной обработки,
suspend-функции с корутинами проще. - UI-взаимодействия – для кликов или простых событий
View.setOnClickListenerпонятнее, чемRxView.clicks(view). - Локальные операции – если данные уже в памяти и не требуют реактивных преобразований,
List.filter {}лучше, чемObservable.fromIterable().filter().
// Избыточно:
Observable.just(listOf(1, 2, 3))
.flatMapIterable { it }
.filter { it > 1 }
.subscribe { println(it) }
// Проще:
listOf(1, 2, 3).filter { it > 1 }.forEach { println(it) }
RxJava добавляет сложность и оверхед там, где достаточно стандартных средств.