10

这些库/框架的所有名称都以字母 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 架构一起使用。因此,由开发人员选择合适的模式。>> 来源

4

1 回答 1

6

反应与角度

React只是一个渲染视图的库——仅此而已,而Angular是整个平台。虽然看起来他们针对不同的问题,但通常他们都是在开发 web 应用程序时做出的选择。

这是为什么?因为更多时候你认为 React 是 React + 整个生态系统(路由器、表单库、状态管理等)。

通量和还原

您可以看到Flux/Redux经常与 React 相关联,但事实并非如此。FluxRedux只是应用程序状态管理的一个想法。然而Redux(现在最流行的)有它自己的实现,现在是 React 官方库之一。还有其他通量实现

反应式编程

这是一个范式。我强烈建议你通过这个。它很长,但值得。

RxJS 和 @ngrx

Angular 在核心内部使用流,例如管理变更检测。同样,流只是想法,而RxJS是该想法的实现之一。@ngrx是一组建立在 RxJS 之上的助手。其中之一是受 Redux 启发的状态管理实现,称为@ngrx/store

MVI

这是一种架构模式(如 MVC),用于构建由Cycle.js推送的应用程序。这是 Cycle.js 的创建者 André Staltz 对我们正在谈论的单向 UI 架构的一个很好解释

于 2016-06-24T13:15:39.193 回答