RxPY - Visão geral

Este capítulo explica o que é programação reativa, o que é RxPY, seus operadores, recursos, vantagens e desvantagens.

O que é programação reativa?

A programação reativa é um paradigma de programação que lida com o fluxo de dados e a propagação da mudança. Isso significa que, quando um fluxo de dados é emitido por um componente, a mudança será propagada para outros componentes por uma biblioteca de programação reativa. A propagação da mudança continuará até atingir o receptor final.

Ao usar o RxPY, você tem um bom controle sobre os fluxos de dados assíncronos, por exemplo, uma solicitação feita para URL pode ser rastreada usando observável e usar o observador para ouvir quando a solicitação for concluída para resposta ou erro.

RxPY oferece a você lidar com fluxos de dados assíncronos usando Observables, consulte os fluxos de dados usando Operators ou seja, filtrar, somar, concatenar, mapear e também usar a simultaneidade para os fluxos de dados usando Schedulers. Criando um Observable, dá um objeto observador com os métodos on_next (v), on_error (e) e on_completed (), que precisa sersubscribed para que recebamos uma notificação quando um evento ocorrer.

O Observable pode ser consultado usando vários operadores em um formato de cadeia usando o operador de tubo.

RxPY oferece operadoras em várias categorias como: -

  • Operadores matemáticos

  • Operadores de transformação

  • Operadores de filtragem

  • Operadores de tratamento de erros

  • Operadores de serviços públicos

  • Operadores condicionais

  • Operadores de criação

  • Operadores conectáveis

Esses operadores são explicados em detalhes neste tutorial.

O que é RxPy?

RxPY é definido como a library for composing asynchronous and event-based programs using observable collections and pipable query operators in Python conforme o site oficial da RxPy, que é https://rxpy.readthedocs.io/en/latest/.

RxPY é uma biblioteca python para dar suporte à programação reativa. RxPy significaReactive Extensions for Python. É uma biblioteca que usa observáveis ​​para trabalhar com programação reativa que lida com chamadas de dados assíncronas, retornos de chamada e programas baseados em eventos.

Recursos do RxPy

No RxPy, os conceitos a seguir cuidam de lidar com a tarefa assíncrona -

Observável

Um observável é uma função que cria um observador e o anexa à fonte com fluxos de dados esperados de, por exemplo, Tweets, eventos relacionados ao computador, etc.

Observador

É um objeto com os métodos on_next (), on_error () e on_completed (), que será chamado quando houver interação com o observável, isto é, a fonte interage para um exemplo de Tweets recebidos, etc.

Inscrição

Quando o observável é criado, para executar o observável, precisamos assiná-lo.

Operadores

Um operador é uma função pura que recebe observáveis ​​como entrada e a saída também é observável. Você pode usar vários operadores em dados observáveis ​​usando o operador pipe.

Sujeito

Um assunto é uma sequência observável, bem como um observador que pode fazer multicast, ou seja, falar com muitos observadores que se inscreveram. O assunto é um observável frio, ou seja, os valores serão compartilhados entre os observadores que foram inscritos.

Schedulers

Uma característica importante do RxPy é a simultaneidade, ou seja, permitir que a tarefa seja executada em paralelo. Para que isso aconteça, o RxPy tem dois operadores subscribe_on () e observe_on () que trabalham com agendadores e decidem a execução da tarefa inscrita.

Vantagens de usar RxPY

A seguir estão as vantagens do RxPy -

  • RxPY é uma biblioteca incrível quando se trata de lidar com fluxos de dados assíncronos e eventos. RxPY usa observáveis ​​para trabalhar com programação reativa que lida com chamadas de dados assíncronas, retornos de chamada e programas baseados em eventos.

  • O RxPY oferece uma enorme coleção de operadores em categorias matemáticas, de transformação, de filtragem, de utilidade, condicionais, de tratamento de erros e de junção que tornam a vida mais fácil quando usados ​​com programação reativa.

  • A simultaneidade, isto é, trabalhar em várias tarefas em conjunto, é obtida usando agendadores no RxPY.

  • O desempenho é aprimorado usando RxPY, pois o manuseio de tarefas assíncronas e o processamento paralelo são facilitados.

Desvantagem de usar RxPY

  • Depurar o código com observáveis ​​é um pouco difícil.