12

由于在 SO 上要避免主观答案,我特地问:这三个功能/反应性库之间的功能和/或性能差异是什么,这将使我选择其中一个而不是其他库?我已经淘汰了 BaconJS,因为它依赖于 jQuery。我是 JS 流的新手,主要是想先在 NodeJS 中熟悉它们,然后再在 AngularJS 上下文中熟悉它们。如果您选择了其中之一而不是其他人,那么什么标准会导致选择?

4

2 回答 2

18

下面的一切都是相当主观的:)

RxJS

优点:

  • 文档和大社区。
  • 与 Rx* 系列共享接口。这是一个很大的优势,因为您可以采用来自 RxJava 社区的示例。
  • 库中的许多原语以及如何使用它们的一些示例
  • 背压
  • 它是其他图书馆的一种标准具

缺点:

  • 有时它看起来过于复杂
  • 考虑到“Java”实现

培根.js

优点

  • 带有一些高级示例的非常好的文档(例如蛇游戏,实现)
  • 很多原语
  • 考虑到 JS 实现
  • 我发现它很容易开始

缺点 - 它没有实现背压,这使得它在后端很傻

高地.js

优点:

  • 它旨在与非常好的node.js(或browserify)环境一起使用
  • 没有外星概念(从 JavaScript/Node 的角度来看)
  • 背压
  • 实现在 Node 流之上,这真是个好主意
  • 占地面积小

缺点:

  • 愚蠢的文档,没有例子。实际上,每次我尝试采用 Rx 或 Bacon 的样本时
  • 缺少一些原语。实际上你可以自己实现它们中的大部分已经实现但它很痛苦(见前一点)

总结:因为没有示例,您将全部学习:) 恕我直言,最有前景的是 Highland.js。但是 RxJs 要成熟得多

提示:如果您需要在 StackOverflow 上提问,请使用 RxJS 方言并将其翻译为青年

于 2015-11-25T22:32:34.697 回答
5

Reactive-Extensions存储库有比较这些的页面(每个其他的自然是 RxJS)。

Bacon.js(还有kefir.js)

高地.js

于 2015-10-18T01:20:53.723 回答