RxPY - Présentation

Ce chapitre explique ce qu'est la programmation réactive, ce qu'est RxPY, ses opérateurs, ses fonctionnalités, ses avantages et ses inconvénients.

Qu'est-ce que la programmation réactive?

La programmation réactive est un paradigme de programmation qui traite du flux de données et de la propagation du changement. Cela signifie que, lorsqu'un flux de données est émis par un composant, le changement sera propagé à d'autres composants par une bibliothèque de programmation réactive. La propagation du changement continuera jusqu'à ce qu'il atteigne le récepteur final.

En utilisant RxPY, vous avez un bon contrôle sur les flux de données asynchrones, par exemple, une demande faite à l'URL peut être tracée à l'aide d'observable et utilisez l'observateur pour écouter lorsque la demande est terminée pour une réponse ou une erreur.

RxPY vous propose de gérer les flux de données asynchrones en utilisant Observables, interrogez les flux de données à l'aide de Operators ie filtre, somme, concat, mappe et utilise également la concurrence pour les flux de données en utilisant Schedulers. Créer un Observable, donne un objet observateur avec les méthodes on_next (v), on_error (e) et on_completed (), qui doit êtresubscribed afin que nous recevions une notification lorsqu'un événement se produit.

L'Observable peut être interrogé à l'aide de plusieurs opérateurs dans un format de chaîne à l'aide de l'opérateur de canal.

RxPY propose des opérateurs dans différentes catégories comme: -

  • Opérateurs mathématiques

  • Opérateurs de transformation

  • Opérateurs de filtrage

  • Opérateurs de gestion des erreurs

  • Opérateurs de services publics

  • Opérateurs conditionnels

  • Opérateurs de création

  • Opérateurs connectables

Ces opérateurs sont expliqués en détail dans ce tutoriel.

Qu'est-ce que RxPy?

RxPY est défini comme a library for composing asynchronous and event-based programs using observable collections and pipable query operators in Python selon le site officiel de RxPy, qui est https://rxpy.readthedocs.io/en/latest/.

RxPY est une bibliothèque python prenant en charge la programmation réactive. RxPy signifieReactive Extensions for Python. C'est une bibliothèque qui utilise des observables pour travailler avec une programmation réactive qui traite des appels de données asynchrones, des rappels et des programmes basés sur des événements.

Caractéristiques de RxPy

Dans RxPy, les concepts suivants prennent en charge la gestion de la tâche asynchrone -

Observable

Un observable est une fonction qui crée un observateur et l'attache à la source ayant des flux de données attendus, par exemple, de Tweets, d'événements liés à l'ordinateur, etc.

Observateur

C'est un objet avec les méthodes on_next (), on_error () et on_completed (), qui sera appelé lorsqu'il y a interaction avec l'observable c'est-à-dire que la source interagit pour un exemple de Tweets entrants, etc.

Abonnement

Lorsque l'observable est créée, pour exécuter l'observable, nous devons y souscrire.

Les opérateurs

Un opérateur est une fonction pure qui prend observable comme entrée et la sortie est également une observable. Vous pouvez utiliser plusieurs opérateurs sur des données observables à l'aide de l'opérateur de canal.

Matière

Un sujet est une séquence observable ainsi qu'un observateur qui peut diffuser en multidiffusion, c'est-à-dire parler à de nombreux observateurs qui se sont abonnés. Le sujet est une observable froide, c'est-à-dire que les valeurs seront partagées entre les observateurs abonnés.

Planificateurs

Une caractéristique importante de RxPy est la concurrence, c'est-à-dire permettre à la tâche de s'exécuter en parallèle. Pour ce faire, RxPy a deux opérateurs subscribe_on () et observe_on () qui fonctionnent avec les planificateurs et décideront de l'exécution de la tâche souscrite.

Avantages de l'utilisation de RxPY

Voici les avantages de RxPy -

  • RxPY est une bibliothèque géniale pour la gestion des flux de données et des événements asynchrones. RxPY utilise des observables pour travailler avec une programmation réactive qui traite des appels de données asynchrones, des rappels et des programmes basés sur des événements.

  • RxPY offre une énorme collection d'opérateurs dans les catégories mathématiques, transformation, filtrage, utilitaire, conditionnelle, gestion des erreurs, jointure qui facilite la vie lorsqu'il est utilisé avec la programmation réactive.

  • La concurrence, c'est-à-dire que le travail de plusieurs tâches ensemble est réalisé en utilisant des planificateurs dans RxPY.

  • Les performances sont améliorées en utilisant RxPY car la gestion des tâches asynchrones et le traitement parallèle sont simplifiés.

Inconvénient de l'utilisation de RxPY

  • Déboguer le code avec des observables est un peu difficile.