在Visual Studio中使用C#或VB为Mac,Windows或iOS创建桌面应用程序

时间:2013-03-02 13:31:23

标签: c# ios windows macos xamarin.mobile

我可以在Visual Studio中创建可在Mac,Windows和iOS上运行的应用程序吗?我的客户要求我创建一系列业务应用程序,可以通过一键安装在Mac,Windows或iOS上运行,他的宝贵应用程序是作为C#中的Windows应用程序开发的,目前只在Windows上运行。 我见过xamarin,还有其他选择吗? 任何帮助或建议将不胜感激。感谢。

4 个答案:

答案 0 :(得分:3)

是和否;)

通过Visual Studio和Mono可以(并且全新)(据我所知它是.NET的开源实现)但是你仍然需要一个mac来编译iOS / OSX版本,一个iPhone / iPad / iPod touch在设备等上进行测试

老实说,我会分别创建一个OSX应用程序,iOS应用程序和Windows应用程序。愿意一次完成所有事情很好(并且通常是一个成本问题),但它不是一个真正的选择(除非成本是主要问题)。

即使在iOS和OSX之间也存在许多差异,不同的概念(OSX上有多个窗口的选项/ iOS中只有一个,不同的API甚至常见的东西,iOS应用程序的“触摸”会让你的工作方式不同,屏幕尺寸会让你想到不同的功能,或者不适合iOS应用程序)。 “UserFriendlyness”是一个需要考虑的事情。 Windows用户和mac用户不习惯相同的界面,相同的应用程序概念,手机或触控板上的手势,mac应用程序通常不使用(F1,F2等键)等。

像phoneGap这样的东西(确定不是问题的桌面部分)可以说一切都适用于所有手机,但它没有受益于平台的优势,它会降低到较低的共同点,这意味着你的应用是通常效率低于原生本。

更危险的是,你继承了这些工具的漏洞,有些可能真的很难理解(我的代码中有问题吗,在phoneGap / xamarin中?)你可能会在这些东西上花很多时间。< / p>

最后只是成本问题。

即使Excel中的Excel在OSX和Windows平台之间也有所不同,他们甚至修复了excel 2011 for mac中的一个错误,它仍然存在于Windows版本中;)(如果我没记错的话,它们有不同的业务单位)

是的,业务逻辑,但mac应用程序不仅是Objective-C,您可以在Xcode中导入/使用C或C ++文件。

只是我的2美分。

答案 1 :(得分:2)

Mono是一个跨平台的开源.NET框架,可以为此工作。

答案 2 :(得分:1)

您可以创建一个独立于机器,独立于架构的Web应用程序。

或者您需要为Windows创建两个不同的平台应用程序,为Mac OSX创建一个平台应用程序,两者共享存储在某个服务器或任何类型的计算机中的相同数据库。

答案 3 :(得分:0)

正如MusiGenesis所说,Mono可能会为你做到这一点。您仍然需要Xamarin's MonoTouch来获得iOS支持,但是如果您将业务逻辑分离到可以轻松重用的单独程序集中。

您可能还想考虑为桌面版本制作两个不同的项目,一个使用MonoMac,一个使用WPF(适用于Windows),以便为用户提供更好的体验,但仍然使用单独程序集中的实际逻辑您可以在所有平台上重复使用。