我们计划与Xamarin合作开展下一个大项目。 看起来像Xamarin.Forms足够成熟,可以与生产项目一起使用。 但是,如果我们使用Xamarin.Forms或Xamarin使用MvvmCross架构,我仍然希望得到专家的意见。
项目对我们的客户来说非常重要。
答案 0 :(得分:23)
我们在18个月前尝试过Xamarin.Forms,所以这段经历可能会过时,但我们发现Xamarin.Forms不适合生产项目。当然,在多个平台上运行基本数据捕获应用程序非常快,但我们发现UI功能不可避免地受到限制,以至于我们不得不在整个地方编写自定义渲染器,这使代码变得复杂。
在我看来,Xamarin.Forms试图以错误的方式解决多平台问题 - 尝试在每个平台的UI元素周围提供常见的包装器。这意味着你总是可以用Xamarin.Forms做的比用Xamarin开箱即用的那么少,你将永远与最常见元素的最低公分母实现斗争,而必须编写自己的代码以获得更高级的UI。
相比之下,MvvmCross方法旨在尽可能将您的业务逻辑整合到一个库中,同时让您可以在每个平台的UI中自由地执行任何操作。您可以将80-90%的代码放入共享库中,同时可以完全自由地为每个平台实现所需的UI。它是解决多平台问题的一种更清洁的方式,IMO。
答案 1 :(得分:0)
Xamarin.Forms与MvvmCross有所不同。一切都取决于项目的规模以及ui的复杂程度。 I recommend read this article - it should give you some ideas.