这些库/框架的所有名称都以字母 R/N 开头或听起来非常相似;保证刺激:
反应/还原 | 助焊剂 | ngrx | @ngrx/商店 | RxJS/ReactiveX | MVI | ……
谁能看穿这种疯狂? 我想澄清一下,如果我错了,请帮助我:
Redux是 JavaScript 应用程序的“可预测状态容器”,也是Flux的轻量级实现。我可以说:它是 Angular2 的通量的标准实现吗?(但也有关于没有 Angular2的 redux的精彩学习视频。)
Flux是 Facebook 用于构建客户端 Web 应用程序的应用程序架构。它通过利用单向数据流来补充React (ReactJS)的可组合视图组件。但通量只是一种模式,而不是一种实现。
React (ReactJS)是Angular2 (angular.io)的主要竞争对手,尽管它是一个比框架更大的库。
JavaScript 的反应式扩展 (RxJS)是一个反应式流库,允许您使用异步数据流。它追求反应式宣言的目标。
Angular2 有它自己的响应式扩展,它们被称为Ngrx - Angular2 的响应式扩展。
然后是@ngrx/store 之类的东西,它是由 RxJS 驱动的状态管理,灵感来自 Redux for Angular 2 应用程序。哎呀,雏菊!
作为 Flux 的替代方案,André Staltz提出了基于 RxJS Observables 的单向Model-View-Intent (MVI) 架构,他将其用作Cycle.js的基础。虽然 Angular 2 确实具有双向数据绑定的形式,但它并没有规定数据流架构。它的一个卖点是与模式无关,并且可以与 MVC 或 Flux 架构一起使用。因此,由开发人员选择合适的模式。>> 来源