【发布时间】:2016-06-09 08:31:54
【问题描述】:
来自ReactiveX introduction page:
它有时被称为“函数式反应式编程”,但这是用词不当。 ReactiveX 可能是函数式的,也可能是响应式的,但“函数式响应式编程”是另一种动物。主要区别之一是函数式反应式编程对随时间连续变化的值进行操作,而 ReactiveX 对随时间发出的离散值进行操作。
同时,来自Wikipedia's Functional Reactive Programming page,ReactiveX 被列在“实现”部分:
实现[编辑]
- cellx,javascript 反应性的超快速实现
- Elm,可编译为 HTML、CSS 和 JavaScript 的 FRP 语言
- Ruby 中的星冰乐 FRP 实现
- Flapjax,JavaScript 中的行为/事件 FRP 实现
- Reactive.jl,Julia 中的 FRP 实现
- ReactiveX、FRP 以多种语言实现,包括 Java、JavaScript、Python、Swift 等等
- 在 Haskell 中实现反应性香蕉 FRP
- 在 Swift 和 Objective-C 中实现的 ReactiveCocoa FRP
- 在纯 Swift 中实现的 ReactiveKit FRP
- 在 Haskell 中实现 Reflex FRP
- Scala(和 Scala.js)中的 Scala.Rx FRP 实现
- 在 C#、C++、Haskell(已弃用 [12])、Java、> Rust 和 Scala 中实现钠、FRP
- 在 Haskell 中实现 Yampa FRP
我很了解ReactiveX是做什么的,也对“反应式编程”和“函数式反应式编程”做了一些研究,但还是分不清它们之间的关系。
事实上,我有点相信 Wikipedia 页面是用词不当,或者错误地在“实现”部分列出了示例,因为我知道 cellx 和 ReactiveX(都在示例中列出)是构建的解决完全不同的问题。
【问题讨论】:
标签: reactive-programming frp reactivex