全部都是头衔。根据您的经验,这两个框架之间的主要区别是什么?我们什么时候应该用一种而另一种?
预期用途:跨平台开发(Windows8、iOS、Android、WindowsRT、Mac)。
发布于 2017-04-04 05:10:17
我在同一个跨平台解决方案中同时使用MvvmCross和ReactiveUI,用于iOS、Android和Windows。
我想说我的解决方案是基于MvvmCross的,因为App类、应用程序如何启动以及ViewModel导航都遵循MvvmCross的方式。但我还使用了ReactiveUI的几个关键特性:
ReactiveCommand我非常喜欢它的自动禁用功能(CanExecute,IsExecuting)当它绑定到一个按钮。
ReactiveList及其派生列表这是一个我想推荐给任何编程MVVM的类,它解决了我在ObservalbeCollection中的几乎所有的痛苦。CreateDerivedCollection本身的使用可能是我将ReactiveUI包含在项目中的全部原因。
MessageBus恐怕我被它自动封送到UI主线程所破坏了。如果我在任务池或UI线程中,我不需要担心,我只需要调用SendMessage。(这与MvvmLight的实现非常不同,这也是我2年前离开MvvmLight的主要原因,对不起)
当我使用上面的特性时,我不在乎它们是否是反应性的,我只是使用它们,因为它们非常适合我的需求。(事实上,ReactiveCommand、ReactiveList和MessageBus都是反应性的)
我只能使用ReactiveUI吗?我也问了自己这个问题。我想我会错过MvvmCross的一些东西:
我使用了来自MvvmCross的几个插件,我非常希望每个插件都与MvvmCross和ReactiveUI兼容。(也许他们已经是了,我只是没有检查,因为我已经在使用MvvmCross来处理插件了。)
有很多关于MvvmCross和Youtube视频的教程。我只是无法想象在这类事情上付出了多少努力。
老实说,我是通过MvvmCross学到的。
有时,我无法判断类是由MvvmCross或Xamarin提供的,如果不是Mvx前缀的话。我检查了我的项目,几乎我的UI代码的所有基类都是MvxSomething (我不使用Xamarin.Forms)。我不知道基类的Mvx版本到底提供了什么,我只是使用它们,它们可以工作。
我仍然在学习这两个框架,但我希望有一天它们能被合并。
发布于 2013-07-11 00:24:11
但这不是排他性的- ReactiveUI可以与非反应性代码一起使用。
更重要的是,您可以在其他MVVM框架的同时使用ReactiveUI,您不需要提交其中一个框架。RxUI中的许多方法,例如WhenAny,都可以在任何对象上工作,并在运行时确定如何最好地连接到它们。
RxUI绝对是自助餐(你想吃什么就吃吧!),而不是一顿七道菜的晚餐: MvvmCross当然是一个很好的选择,可以把你的应用建立在这个基础上,如果有一个团队来尝试他们如何在同一个应用程序中一起工作,那就太棒了。报告回来!
发布于 2013-07-10 11:52:23
这两个框架之间的主要区别是什么?
一种是以反应性扩展为中心,另一种是基于更传统的Mvvm编码。
但这不是排他性的-- ReactiveUI可以与非反应性代码一起使用,MvvmCross可以与反应性扩展一起使用。
我们什么时候应该用一个而不是另一个?
它们都是伟大的框架(海事组织)。
是否使用框架以及使用哪一个框架的选择取决于您和您的团队。
https://stackoverflow.com/questions/17566893
复制相似问题