c# – ReactiveUI(RxUI)vs Reactive Extensions

前端之家收集整理的这篇文章主要介绍了c# – ReactiveUI(RxUI)vs Reactive Extensions前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
http://docs.reactiveui.net/en/index.html

ReactiveUI is a MVVM framework that allows you to use the Reactive
Extensions for .NET to create elegant,testable User Interfaces that
run on any mobile or desktop platform.

RxUI是否与Reactive Extensions有所不同?

为什么我应该喜欢RxUI超过MVVMCross / light Rx?有什么特别之处
RxUI可以执行Rx不能做的事吗?
更简洁吗?
更舒适吗

我在github页面https://github.com/reactiveui/ReactiveUI#a-compelling-example上看到了一些例子.但是我不能用Rx做同样的事情呢?

附:有没有API文档?

解决方法

你在这里列出了很多问题,所以我会一一回答.

Is RxUI somehow differs from Reactive Extensions?

是. Reactive Extensions是“通过使用可观察序列和LINQ样式的查询运算符组合异步和基于事件的程序的库”.它与UI无关. Rx为数据流提供了一般的抽象.

RxUI是一个MVVM框架,这意味着it is a library of classes helping you implement MVVM pattern in your app.

Can RxUI do something that Rx can’t? Is it more concise? Is it more cozy?

它的目的不同. Rx提供了一组方法,通常可以帮助您移动应用程序中的数据. RxUI用于创建用户界面.它在引擎盖下使用Rx,并从其组件中暴露Rx-type API(即IObservble<T>).

例如,ReactiveUI中的ICommand实现,称为ReactiveCommand,exposes a property called ThrownException,其类型为IObservable< Exception> (您可以将其看作“一系列错误”).

注意,尽管可以使用IObservable< T>接口类型是.Net基类库的一部分,字面上所有使用此类型的有用功能都包含在Reactive Extensions库中.

But can’t I do the same with just Rx?

不,因为 – 例如 – Rx不提供ICommand实现,这是每个MVVM框架的重要组成部分.

Why should I prefer RxUI over MVVMCross/light+Rx? What so special?

如果您想在应用程序中使用Reactive Extensions,您可能更喜欢使用RxUI(而不是其他MVVM框架),因为它们可以很好地集成在一起.结合起来,它们为您提供了很多功能(请参阅例如ReactiveCommandWhenAny).

话虽如此,as Paul Betts (creator of RxUI) stated it

you can use ReactiveUI alongside other MVVM frameworks,you don’t need to commit to one or the other. Many methods in RxUI such as WhenAny work on any object and determine at runtime how to best connect to them.

RxUI is definitely a Buffet Table (take what you want!),not a seven-course meal

猜你在找的C#相关文章