我们正在寻找创建一个最初将作为Windows应用程序发布的Visual Studio C#项目。但是,将来我们希望使用Xamarin扩展在iOS和Android平台上发布。
我们计划尽可能将核心应用程序与GUI代码分开,以便将来更方便地进行多平台开发。
这是一个好的计划,还是从一开始就将Xamarin纳入项目更好?
我们以前没有使用过Xamarin,我们希望尽量减少代码的重构。
答案 0 :(得分:4)
我认为大多数开发人员都希望从一开始就添加Xamarin项目,但我也是这样开始了一个项目,并且我重新考虑这是一个成功的项目。但是,您应该有一些经验丰富的开发人员可以处理UI抽象,而不是将他们的代码放在UI层中。如果你想跨平台,也许你应该看看像MVVM cross这样的框架。
然而,Xamarin也在不断发展,不仅仅是Xamarin.iOS和Xamarin.Andoird了。几个月前他们发布了他们精彩的框架Xamarin.Forms。通过使用它,您将能够重用大量代码 - 甚至是UI代码。因此,如果您的Windows应用程序是Windows Phone应用程序或现代UI应用程序,而不是WinForms应用程序(Xamarin.Forms不支持),它可能是您的最佳选择。
答案 1 :(得分:2)
.Net Framework Portble类库是您所需要的。平台之间共享的代码应使用PCL实现。我为我的组织所做的是,我为每个平台创建了一个解决方案,并添加了对包含我们公共代码的PCL的引用。我们的PCL可以在Windows,Android和iOS上运行。
https://msdn.microsoft.com/en-us/library/gg597391%28v=vs.110%29.aspx
另一种方法是编写c#类并将类引用添加到特定于平台的代码中。但是,如果你采用这种方法,每次修改类时,都需要确保它在所有平台上构建。