【问题标题】:Are all Flux for Angular Libraries Experimental?Angular 库的所有 Flux 都是实验性的吗?
【发布时间】:2015-08-08 18:02:10
【问题描述】:

Facebook React 可以使用称为 Flux 的单向数据流模式,通过使用视图、操作、存储和调度程序来为应用程序提供结构。

我为 Angular 找到了以下 Flux 库:

  1. ng-flux: https://github.com/JustinWinthers/ng-flux
  2. 角度通量:https://github.com/brentvatne/angular-flux
  3. 歌曲流:https://github.com/gah-boh/song-flux
  4. 还有这个样本:http://victorsavkin.com/post/99998937651/building-angular-apps-using-flux-architecture

这些产品都准备好了吗?

哪些计划迁移到 Angular2 并与组件路由器集成?

我似乎找不到任何使用这些库的大型应用程序示例。其他链接会很有用。

【问题讨论】:

  • 我在一个相对非常大的应用程序(1.3.x)中使用了flux-angular,它现在已经投入生产并且运行良好。但坦率地说,flux 只是一种设计模式,您可以使用调度程序和发射器轻松创建角度包装器(两者都只是处理程序的简单注册表)

标签: javascript angular flux


【解决方案1】:

我编写了 ng-flux,我不会说它已经准备好生产,因为我没有时间在各种项目中对其进行测试。但是我目前在一个相当大的企业级应用程序中使用它。我同意flux-angular有一个很好的团队,我推荐他们的图书馆。无论如何,通量只是一种您可以自己整合的模式。任何基于 Angular 1.x 的方法的问题始终是 Angular 管理摘要周期的方式,如果您处理 Angular 命名空间之外的数据,有时您必须跳过箍以在后台更新视图。在 ng-flux 中,如果没有发生消化循环,我会强制执行消化循环。

Flux 作为一种模式对我来说效果很好,因为它使大型项目的调试和代码分离变得更加容易,所以我的目标是在已经有大量遗留 Angular 代码的项目中使用这种模式,并减少它花费的时间分类错误。这是一个包含大量计算的精算应用程序,因此有必要快速找到小的数据差异。编写 ng-flux 为我实现了这一点。

关于 Angular 2,我认为将 Facebook 的调度程序合并到您的项目中并允许它管理数据流会很容易。我认为一旦 Angular 2 准备就绪,根据我目前所读到的内容,使用第三方 JS 库应该会更容易——尤其是因为 Angular 2 将遵循更多类似于 React 的基于 Web 组件的架构。我什至看到了使用第三方路由器等会更容易(或更有机)的承诺......如果这是真的,我怀疑你是否真的需要一个库来管理你的基于通量的数据架构Angular 2 应用程序。在应用程序中简单地使用 Facebook Dispatcher 之类的东西作为单例(正确命名空间)对象应该是相当无缝的,您可以在 Angular 组件中引用该对象。我认为大多数库作者都意识到了这一点——对于 Angular 1.x 应用程序来说,使用这种模式比对于 Angular 2 应用程序将/应该是一个更大的问题。

https://github.com/facebook/flux/blob/master/src/Dispatcher.js

【讨论】:

    【解决方案2】:

    我不是 ReactJS 的专家,但是我不确定将 Flux 与 AngularJS 集成是否真的是许多 Angular 开发人员的焦点。随着 2.0 的发布,Angular 团队继续使框架越来越自给自足,这样人们就不必将不同的库混在一起,而是可以只依靠 Angular 来完成手头的任务。

    也就是说,flux-angular libary 似乎在 1.x 版本中是稳定的,并且似乎有很好的支持。我知道在处理 2.0 时它对您的情况没有帮助,但是,它看起来确实是一个足够可靠的 API;但是,话又说回来,也许我只是因为我能够使用 Angular 1.2 和 1.3 复制的功能而有偏见:)

    【讨论】:

      猜你喜欢
      • 2018-11-24
      • 2017-09-23
      • 1970-01-01
      • 2017-12-04
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多