如何实现MonoTouch跨平台化

3

我正在评估我们公司未来在Android和iOS开发中将使用的技术。

因此,我正在研究跨平台选项以及本地开发。

我了解到MonoTouch共享相同的后端代码,但UI必须复制。

我开始了我的第一个MonoTouch项目,但无法理解这将如何工作。该项目在Visual Studio中,而MonoTouch for iOS必须在Mac上运行。VS解决方案在Mac上不起作用,因此我想知道它在Mac上的外观以及如何在两者之间共享代码?

3个回答

4

目前,在使用Visual Studio上的Mono for Android时,与MonoTouch一起工作并不容易。 Xamarin有两个示例应用程序(Tasky和TipCalc),它们使用共享代码和逻辑但具有不同的用户界面,您可以在其GitHub帐户中找到这些示例:https://github.com/xamarin/mobile-samples

有各种方法可以在三个平台之间共享代码,Jonas在这里制作了一个很好的视频,介绍了如何实现这一点:http://jonas.follesoe.no/2011/07/22/cross-platform-mobile-ndc-2011/ ,希望Xamarin将来能够提供一种开箱即用的方法,在Visual Studio中打开MonoTouch项目(尽管您仍然需要一台Mac),这样您就可以轻松地在iOS、Android和WP7之间编码。


那么你的意思是说必须使用MonoDevelop IDE才能使它跨平台?好吧,至少要在两个平台上打开同一个项目吗? - peter
是的,您可以在Mac上使用MonoDevelop编写Android和iOS应用程序,并将它们都打开在一个解决方案中,但属于不同的项目。 - chrisntr

1

有一个名为Monocross的平台,它是基于Xamarin Mono构建的。它可以帮助您以更易于使您的应用程序与不同平台兼容的方式布局代码。


它将位于此网址:http://www.monocross.net。使用的是MVC模式。如果您更喜欢MVVM模式,则可以使用:https://github.com/slodge/MvvmCross。这是由@slodge从monocross项目分叉而来的。 - valdetero

1

你可以使用源代码控制系统或共享驱动器来分享代码。一些开发人员喜欢使用 Visual Studio 和像 Resharper 这样的工具编辑他们的代码,但仍然会在 Mac 上编译。网络上有各种教程,可以帮助你实现这一点。


我已经做过这件事,只不过是使用Dropbox。我发现这个方法非常有效。值得一提的是,通过一些额外的工作,它可以在Visual Studio中进行构建/编译,但无法运行/调试。 - valdetero

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接