哪个是Xamarin跨平台开发的首选MVVM框架?任何经验建议都会有所帮助。
谢谢!
答案 0 :(得分:11)
有许多MVVM框架可用于Xamarin.iOS和Xamarin.Android开发:MVVMCross,MvvmLight,PrismMVVM,ReactiveUI。
我使用ReactiveUI用于MVVM和Splat用于IoC最成功。
关于ReactiveUI的最佳功能是它不需要任何ViewModel导航。您可能认为基于ViewModel的导航是一件好事,但在实现复杂的导航模式时,它会让您的生活变得更加困难。 iOS和Android内置了基于视图的导航,我建议利用这些导航,而不是尝试使用基于ViewModel的导航重新创建滚轮。
您在评论中提到您没有使用Xamarin.Forms,但我希望包含此内容以防其他开发人员对Xamarin.Forms提出类似问题。
不要将MVVM Framework与Xamarin.Forms一起使用。
Xamarin.Forms包含MVVM工具。我看到许多开发人员通过将重要的框架(如MVVMCross)实现到Xamarin.Forms而没有获得太多好处而使他们的Xamarin.Forms项目过于复杂。
Xamarin.Forms不包含IoC容器,您可能希望在项目中添加一个:TinyIoC,Autofac,Ninject,Splat。
我使用Splat取得了最大的成功。