1. DEFINIÇÃO
Segundo o site oficial ReactiveX pode ser definido como:
ReactiveX é uma biblioteca para composição assíncrona e programação baseada em eventos utilizando sequências observáveis.
Trazendo para uma abordagem mais simples, acredito que pode ser definido como uma biblioteca para aplicarmos Reactive Programming (“Programação Reativa”).
Com isso, acredito que mudamos a dúvida em relação a definição e precisamos entender o que vem a ser Programação Reativa.
2. O QUE É PROGRAMAÇÃO REATIVA?
Programação Reativa é descrita simplesmente como programação utilizando um fluxo de dados assíncrono. Porém, este não é um novo conceito, outros padrões também utilizam esse significado.
A diferença está em poder criar fluxos de dados para tudo, o que outras implementações como Event Buses ou simples eventos de click do mouse não fazem, pois costumam trabalhar com uma segmentação específica de eventos.
É muito comum, quando falando de ReactiveX, ouvir o mantra:
ReactiveX é uma caixa de ferramentas, que contém funções que podem combinar, criar, filtrar e muitas outras funções para a manipulação de fluxo de dados.
3. QUANDO USAR?
4. POR QUÊ USAR?
5. REPRESENTAÇÃO GRÁFICA
Uma grande forma de demonstrar o uso da biblioteca é através de Marbles Diagram.
Função map:
Função merge:
Podemos também representar através de caracteres ASCII:
---a--------e-----o-----
-----B---C-----D--------
vvvvvvvvv merge vvvvvvvv
---a-B---C--e--D--o-----
6. CONTINUA
Obrigado a todos que se interessaram em ler esta postagem.
Já estão programadas novas postagens sobre o assunto, teremos ainda exemplos de utilização das libs RxJava e RxJS, aguardem…
7. REFERÊNCIAS
The introduction to Reactive Programming you’ve been missing