微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/csharp/91386.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐