Xamarin.ios 是否可以将MonoCross应用程序增量迁移到MvvmCross?

Xamarin.ios 是否可以将MonoCross应用程序增量迁移到MvvmCross?,xamarin.ios,xamarin.android,mvvmcross,monocross,Xamarin.ios,Xamarin.android,Mvvmcross,Monocross,我所在的团队创建了一个在iOS、Android和Windows Mobile上运行的跨平台应用程序,该应用程序是使用Xamarin的工具和MonoCross创建的。我们将MvvmCross视为可能的MonoCross替代品,但不希望从头开始编写应用程序 是否有人有过将Xamarin/MonoCross跨平台应用程序迁移到Xamarin/MvvmCross的经验或想法?这两个框架是否可能共存于同一个应用程序中(理想的解决方案是让我们一次将应用程序迁移到一个屏幕上) 提前感谢。我不知道最近有谁这样做

我所在的团队创建了一个在iOS、Android和Windows Mobile上运行的跨平台应用程序,该应用程序是使用Xamarin的工具和MonoCross创建的。我们将MvvmCross视为可能的MonoCross替代品,但不希望从头开始编写应用程序

是否有人有过将Xamarin/MonoCross跨平台应用程序迁移到Xamarin/MvvmCross的经验或想法?这两个框架是否可能共存于同一个应用程序中(理想的解决方案是让我们一次将应用程序迁移到一个屏幕上)


提前感谢。

我不知道最近有谁这样做过,但我最初在创建MvvmCross时移植了几个MonoCross样本。尽管mvvm绑定提供了比更离散的控制器操作模型更多的连续视图-视图模型交互,但一页对一“视图模型”的总体思想保持不变

在实际层面上:

  • MvvmCross本身是非常模块化的,可以在“CrossLight”模式下使用,在该模式下,它只提供数据绑定和插件-请参阅中的CrossLight。您可以使用它逐个迁移页面
  • MonoCross并不是真正基于接口/IoC的,所以您可能会发现最终的MvvmCross迁移也不是基于接口的
  • MonoCross应用程序倾向于使用文件链接和#定义s而不是PCL,因此您可能会发现在MvvmCross中不使用PCL更容易

我认为这次迁移的最佳选择是让你的团队进行实验——他们已经对你的应用程序有了很多了解,知道他们做什么和不需要什么,知道他们从框架中做什么和不做什么。

按照Stuart下面的建议,我确认可以将MvvmCross集成到现有的MonoCross中应用程序

在原始代码中,视图1上的选择使用MonoCross URI导航启动对控制器2的调用。控制器2显示视图2,将模型2的数据传递给它

按照视频中的示例,我创建了MvvmCross视图和ViewModel。视图1上的选择仍然导航到控制器2,但控制器2现在显示新的MvvmCross视图2。视图2是绑定到ViewModel 2的数据,它接管控制器2获取模型数据的功能


我理解您的图表,但不知道如何实际使其工作。您能否提供有关如何使用MonoCross navigation访问MvvmCross视图的任何其他详细信息?我是这样做的,但我并不热衷于此。我的MvvmCross视图必须实现IMXView,即使我没有使用它做任何事情。此外,在视图构造函数中,我必须手动调用CreateBindingContext()并执行“DataContext=Mvx.IocConstruct();”。然后它可以导航到我的视图和绑定函数,但我不知道是否有更好的方法。。。我还必须创建一个带有默认路径的MonoCross控制器,以便导航调用也可以转到我的MvvmCross视图。一旦完全使用MvvmCross,这些类将被删除。斯图尔特,我希望看到一个新的示例,展示你如何推荐MonoCross用户慢慢迁移到你的框架。如果您对我上面关于将MvvmCross集成到我现有的MonoCross应用程序的评论有任何补充,我将非常感谢。对不起,我已经2年没有迁移任何MonoCross代码了,从最初的示例开始就没有了,所以我没有任何补充。在fsct中,我已经有2年没有看到任何monocross样本了——因此不确定所需的步骤是什么——对不起!