从http://docs.reactiveui.net/en/index.html:
RxUI与响应式(Reactive)扩展有什么不同吗?
为什么我应该更喜欢RxUI而不是MVVMCross/light + Rx?有什么特别的?
RxUI可以做Rx无法做的事情吗?
更简洁吗?
更舒适吗?
我在github页面https://github.com/reactiveui/ReactiveUI#a-compelling-example上看到了示例。但是我不能只用Rx做同样的事情吗?
附言哪里有API文档?
最佳答案
您在此处提出了很多问题,因此我将一一解答。
是的。 Reactive Extensions是“通过使用可观察的序列和LINQ样式的查询运算符来组成异步和基于事件的程序的库。”它与UI无关。 Rx为您提供了对数据流的一般抽象。
RxUI是MVVM框架,意思是it is a library of classes helping you implement MVVM pattern in your app。
它具有不同的目的。 Rx提供了一组方法,这些方法通常可以帮助您移动应用程序中的数据。 RxUI用于创建用户界面。它在后台使用Rx,并且还从其组件中公开Rx类型的API(即 IObservable<T>
)。
例如,ReactiveUI中的ICommand实现称为ReactiveCommand,即exposes a property called ThrownException
,其类型为IObservable<Exception>
(您可以将其读取为“一系列错误”)。
请注意,尽管IObservable<T>
接口(interface)类型是.Net基类库的一部分,但实际上,使用该类型进行操作的所有有用函数都包含在Reactive Extensions库中。
不,因为-例如-Rx没有为您提供ICommand
实现,它是每个MVVM框架的重要组成部分。
如果您想在应用程序中大量使用Reactive Extensions,则您可能更喜欢使用RxUI(而不是其他MVVM框架),因为它们彼此之间确实集成得很好。它们结合在一起,为您提供了许多开箱即用的功能(例如, check out ReactiveCommand或WhenAny。
就是说as the creator of RxUI stated it:
最后,
就在这里!在这里看看:https://reactiveui.net/api/
作为附带说明,请随时浏览Reactive Programming section of the docs,它将为您解释框架背后的一些基本术语和概念:)