En bref, ce sont des bibliothèques très différentes à des fins très différentes, mais oui, il y a de vagues similitudes.
Redux est un outil de gestion de l'état dans toute l'application. Il est généralement utilisé comme architecture pour les interfaces utilisateur. Considérez-le comme une alternative à (la moitié de) Angular.
RxJS est une bibliothèque de programmation réactive. Il est généralement utilisé comme un outil pour accomplir des tâches asynchrones en JavaScript. Pensez-y comme une alternative aux promesses.
La programmation réactive est un paradigme (façon de travailler et de penser) où les changements de données sont observés à distance . Les données ne sont pas modifiées à distance .
Voici un exemple de modification à distance :
// In the controller.js file
model.set('name', 'George');
Le modèle est modifié à partir du contrôleur.
Voici un exemple d' observation à distance :
// logger.js
store.subscribe(function (data) {
console.log(data);
});
Dans le Logger, nous observons les changements de données qui se produisent dans Store (à distance) et écrivons dans la console.
Redux utilise un peu le paradigme réactif: le Store est réactif. Vous ne définissez pas son contenu à distance. C'est pourquoi il n'y store.set()
en a pas dans Redux. Le Store observe les actions à distance et se modifie. Et le Store permet aux autres d'observer ses données à distance.
RxJS utilise également le paradigme réactif, mais au lieu d'être une architecture, il vous donne des blocs de construction de base, les observables , pour accomplir ce modèle "d'observation à distance".
Pour conclure, des choses très différentes à des fins différentes, mais partager quelques idées.