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

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

单声道将为此工作。 它肯定会为此工作(只是添加这个句子,所以我超过了一个职位的字符限制)。

是和否;)

通过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?有问题吗?),你可以放松这样的东西很多时间。

最后,这只是一个成本问题。

即使微软的Excel在OSX和Windows平台之间也是不同的,他们甚至修正了2011年mac版excel中的一个bug,这个bug在windows版本中仍然存在;)(如果我没有记错的话,他们有不同的业务单位)

所以,是的,商业逻辑,但mac应用程序不仅是objective-c,你可以在Xcode中导入/使用C或C ++文件。

只是我2美分。

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

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

正如MusiGenesis所建议的那样, Mono可能会为你做伎俩。 你仍然需要Xamarin的支持iOS 的MonoTouch ,但是如果你将业务逻辑分离成一个单独的程序集,可以很容易地重用。

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