Android Pros y Contras: Event Bus y RxJava

He estado usando Bus de eventos en mis aplicaciones (es decir: greenrobot / EventBus). Pero encuentro algunas desventajas en usar el autobús del acontecimiento:

  • La ejecución de las tareas de encadenamiento es difícil
  • Muchas clases para representar eventos
  • Menos código claro (bueno, todavía es posible rastrear, pero no tan claro)

He estado investigando nuevas técnicas para hacer frente a este problema. Y leí un poco sobre RxJava y me pregunto si podría ser una solución.

Así que mis preguntas sobre RxJava (basado en lo que he leído recientemente):

  • ¿Podría el observador de RxJava estar registrado en cualquier momento? Así que no sólo al crear el Observable. Con EventBus esto es posible, podría suscribirme en cualquier momento, no solo cuando se crea el Observable.
  • ¿Cómo maneja dos o más editores que publican el mismo tipo de evento (por ejemplo: evento de navegación)?
  • Al acoplar de manera estrecha al editor (s) y al suscriptor, significa que debo especificar explícitamente al editor (s) cada vez. Así que tengo que preocuparme no sólo con el tipo de eventos, sino también con los originadores. Con EventBus, sólo tengo que preocuparme por el tipo de eventos y no por los originadores.

1) Una vez que tenga una instancia de un observable, puede suscribirse a él en cualquier momento y desde cualquier subproceso, incluso simultáneamente.

2) Usualmente combinamos los flujos de observables múltiples a través de Observable.merge () o usamos un PublishSubject serializado.

3) Si observa un Observable, podría haber decenas de operadores y fuentes en el sentido ascendente, pero obtendrá un flujo secuencial de valores, pase lo que pase. Sólo es necesario tener un asimiento en un observable que representa alguna fuente de eventos y el observador no necesita saber si el evento se fusionó, filtró, hizo un viaje de ida y vuelta en la red y se retrasó antes de llegar a su método onNext (). Naturalmente, puede implementar o utilizar algún servicio de búsqueda que obtendrá un Observable para reducir el acoplamiento, pero con RxJava, el acoplamiento no suele ser un problema.

  • Compartiendo RxBindings Eventos observables entre múltiples suscriptores
  • RxJava: encadenamiento de observables
  • ¿Cómo utilizar Rx para gestionar múltiples observadores con el fin de mantener una sola conexión abierta a un servicio?
  • Creando Observable sin utilizar Observable.create
  • En RxJava, cómo reintentar / reanudar en caso de error, en lugar de completar el observable
  • Retrofit2 y kotlin
  • Error al resolver la dependencia de RXJava
  • El tipo de retorno observable debe parametrizarse como Observable <Foo> o Observable <? Se extiende Foo>
  • Realm + Retrofit + Rxjava
  • Uso de "skipWhile" combinado con "repeatWhen" en RxJava para implementar el sondeo de servidor
  • ¿Cómo devolver el valor con RxJava?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.