Queste due librerie risolvono due problemi diversi.
Bulloni
Bulloni semplifica la programmazione asincrona trasparente spingendo codice a un thread in background. I bulloni impiegano anche una buona dose di tentativi per ridurre il nesting di codice antiestetico che produce un formato simile a una piramide nidificato.
Pertanto, se si desidera esaminare in modo specifico i problemi asincroni (multi-threading), i bulloni sono le soluzioni più solide. Bulloni è anche efficace per alleggerire il nesting del codice e il boilerplate di callback ed è probabilmente un'ottima soluzione per cercare di risolvere i problemi di callback.
RxJava
RxJava è specificamente progettato per supportare un paradigma di programmazione reattivo. La programmazione reattiva è un'alternativa alla programmazione imperativa in Java. Potresti scegliere di passare a un paradigma di programmazione reattiva per vari motivi, di cui ce ne sono molti. Se vuoi migrare il tuo codice al modello di programmazione reattivo, o se vuoi usare reattivo nei tuoi progetti greenfield, considera l'utilizzo di RxJava - lo standard reattivo di fatto nel mondo Java.
Reactive risolve anche il problema di programmazione asincrona, oltre a ridurre il boilerplate di richiamata tramite generici. Ma non dovrebbe essere usato solo per risolvere quei problemi. Ad esempio, la capacità dei bulloni di risolvere la struttura del codice piramidale annidato lo rende una soluzione più praticabile per la programmazione asincrona. D'altra parte, se si utilizza reattivo tramite RxJava, i problemi asincroni sono già risolti, quindi non è necessario introdurre Bulloni.
Grazie !! è stata una facile transizione dai bulloni a rxjava? qualche insidia che potrei incontrare? – reidisaki
Ci sono molte insidie che incontrerai in rx-java. È molto potente ed espressivo. Personalmente l'operatore 'cache' non ha fatto esattamente quello che mi sarei aspettato. Inoltre, è difficile scrivere 'Observable's e' Operator's che rispettano la contropressione. – Andy