EventBus / PubSub vs (extensões reativas) RX com relação à clareza do código em um único aplicativo encadeado

Atualmente, estou usando um EventBus /PubSub arquitetura / padrão com Scala (e JavaFX) para implementar um aplicativo de organização de notas simples (como um cliente do Evernote com algumas funcionalidades adicionais de mapeamento mental) e devo dizer que realmente gosto do EventBus sobre o padrão de observador.

Aqui estão algumas bibliotecas do EventBus:

https://code.google.com/p/guava-libraries/wiki/EventBusExplained

http://eventbus.org (atualmente parece estar inoperante) é esse que estou usando na minha implementação.

http://greenrobot.github.io/EventBus/

Aqui está uma comparação das bibliotecas EventBus:http://codeblock.engio.net/37/

EventBus está relacionado aopadrão de publicação-assinatura.

Contudo !

Recentemente, tirei aCurso reativo por Coursera e começou a se perguntar se o usoRXJava em vez de EventBus, simplificaria ainda mais o código de manipulação de eventosrosca única inscrição ?

Gostaria de perguntar sobre as experiências de pessoas que programaram usando as duas tecnologias (algum tipo de biblioteca eventbuse alguma forma doextensões reativas (RX)): foi mais fácil lidar com a complexidade de manipulação de eventos usando o RX do que com uma arquitetura de barramento de eventosdado que não havia necessidade de usar vários threads ?

Estou perguntando isso porque ouvi noPalestras Reativas em Coursera esteRX leva a um código muito mais limpo do que usar o padrão observador (ou seja, não existe "inferno de retorno de chamada"), no entanto, não encontrei nenhuma comparação entre a arquitetura EventBus eRXJava. Portanto, está claro que o EventBus e o RXJava são melhores que o padrão do observador, maso que é melhor em um único aplicativo de threads em termos de clareza e manutenção do código?

Se eu entendi corretamente o principal ponto de venda deRXJava é que ele pode ser usado para produzir aplicativos responsivos se houver operações de bloqueio (por exemplo, aguardando resposta de um servidor).

Mas eu não me importo com a autocronicidade, tudo o que me interessa é manter o código limpo, desembaraçado e fácil de raciocinar em umaplicação de rosca única.

Nesse caso, ainda é melhor usar o RXJava do que o EventBus?

Acho que o EventBus seria uma solução mais simples e limpa e não vejo nenhuma razão para usar o RXJava por umaplicação de rosca única a favor de uma arquitetura simples EventBus.

Mas eu posso estar errado!

Corrija-me se estiver errado e explique por que o RXJava seria melhor que um simples EventBus no caso de umaplicação de rosca única onde não são realizadas operações de bloqueio.