ReactFX 与 Sodium 相比

ReactFX compared to Sodium

这个 book about Sodium 是对 FRP 的一个很好而清晰的介绍。

我希望 - 因为关于 Sodium 的书很容易理解 - 通过比较两个库(Sodium 和 ReactFX),人们可以利用他们从书中学到的知识并使用这些知识在 ReactFX 中实现 GUI。

这就是发帖的动机。

所以我问了 11 个有助于实现这个目标的问题:

下面11个Sodium概念在ReactFX中对应的概念是什么?

1 Cell/Behaviour

2 Stream/Event

3 个过滤器

4 合并

5 合并

6个开关

7 从不

8 持有

9张快照

10 张地图

11 部电梯

编辑:

12 CellLoop/snapshot-hold-loop

  1. Cell/Behaviour: Val
  2. Stream/Event: EventStream
  3. 过滤器: filter
  4. 合并: merge
  5. 合并: N/A。 Coalesce 关注交易,这是 ReactFX 所没有的。 ReactFX 中有两个相关的运算符:reducible and onRecurseReduce,但两者并不完全相同。
  6. 开关: flatMap
  7. 从不: never
  8. 坚持:toBinding
  9. 快照: emitOn
  10. 地图: map
  11. lift: 包裹 combine:

    <A, B, C> BiFunction<Val<A>, Val<B>, Val<C>> lift(BiFunction<A, B, C> f) {
        return (va, vb) -> Val.combine(va, vb, f);
    }