RxPY - Panoramica
Questo capitolo spiega cos'è la programmazione reattiva, cos'è RxPY, i suoi operatori, caratteristiche, vantaggi e svantaggi.
Cos'è la programmazione reattiva?
La programmazione reattiva è un paradigma di programmazione, che si occupa del flusso di dati e della propagazione del cambiamento. Significa che, quando un flusso di dati viene emesso da un componente, la modifica verrà propagata ad altri componenti da una libreria di programmazione reattiva. La propagazione del cambiamento continuerà fino a raggiungere il ricevitore finale.
Utilizzando RxPY, hai un buon controllo sui flussi di dati asincroni, ad esempio, una richiesta effettuata all'URL può essere tracciata utilizzando osservabile e usa l'osservatore per ascoltare quando la richiesta è completa per la risposta o l'errore.
RxPY ti offre la possibilità di gestire flussi di dati asincroni utilizzando Observables, interroga i flussi di dati usando Operators vale a dire filtro, somma, concatenazione, mappa e anche utilizzare la concorrenza per i flussi di dati utilizzando Schedulers. La creazione di un Observable fornisce un oggetto osservatore con i metodi on_next (v), on_error (e) e on_completed (), che deve esseresubscribed in modo da ricevere una notifica quando si verifica un evento.
L'Observable può essere interrogato utilizzando più operatori in un formato a catena utilizzando l'operatore pipe.
RxPY offre operatori in varie categorie come: -
Operatori matematici
Operatori di trasformazione
Operatori di filtraggio
Operatori di gestione degli errori
Operatori di servizi
Operatori condizionali
Operatori di creazione
Operatori collegabili
Questi operatori sono spiegati in dettaglio in questo tutorial.
Cos'è RxPy?
RxPY è definito come a library for composing asynchronous and event-based programs using observable collections and pipable query operators in Python come da sito web ufficiale di RxPy, che è https://rxpy.readthedocs.io/en/latest/.
RxPY è una libreria python per supportare la programmazione reattiva. RxPy sta perReactive Extensions for Python. È una libreria che utilizza osservabili per lavorare con la programmazione reattiva che si occupa di chiamate dati asincrone, callback e programmi basati su eventi.
Caratteristiche di RxPy
In RxPy, i seguenti concetti si occupano della gestione dell'attività asincrona -
Osservabile
Un osservabile è una funzione che crea un osservatore e lo collega alla sorgente con flussi di dati attesi, ad esempio, da Tweet, eventi relativi al computer, ecc.
Osservatore
È un oggetto con metodi on_next (), on_error () e on_completed (), che verrà chiamato quando c'è interazione con l'osservabile, cioè la fonte interagisce per un esempio di Tweet in arrivo, ecc.
Sottoscrizione
Quando l'osservabile viene creato, per eseguire l'osservabile dobbiamo sottoscriverlo.
Operatori
Un operatore è una funzione pura che accetta l'osservabile come input e anche l'output è osservabile. È possibile utilizzare più operatori su un dato osservabile utilizzando l'operatore pipe.
Soggetto
Un soggetto è una sequenza osservabile così come un osservatore che può trasmettere in multicast, cioè parlare con molti osservatori che si sono iscritti. Il soggetto è un osservabile freddo, cioè i valori saranno condivisi tra gli osservatori che sono stati sottoscritti.
Schedulatori
Una caratteristica importante di RxPy è la concorrenza, ovvero consentire l'esecuzione del compito in parallelo. Per far sì che ciò accada, RxPy ha due operatori subscribe_on () e explore_on () che lavorano con gli scheduler e decideranno l'esecuzione dell'attività sottoscritta.
Vantaggi dell'utilizzo di RxPY
I seguenti sono i vantaggi di RxPy:
RxPY è una libreria fantastica quando si tratta della gestione di flussi di dati ed eventi asincroni. RxPY utilizza osservabili per lavorare con la programmazione reattiva che si occupa di chiamate dati asincrone, callback e programmi basati su eventi.
RxPY offre una vasta collezione di operatori in categorie matematiche, trasformazione, filtraggio, utilità, condizionale, gestione degli errori, join che semplifica la vita se utilizzato con la programmazione reattiva.
La concorrenza, ovvero il lavoro di più attività insieme, si ottiene utilizzando gli scheduler in RxPY.
Le prestazioni vengono migliorate utilizzando RxPY poiché la gestione delle attività asincrone e dell'elaborazione parallela è semplificata.
Svantaggio dell'utilizzo di RxPY
Il debug del codice con osservabili è un po 'difficile.