在Visual Studio中使用c#或VB创建Mac, Windows或iOS桌面应用程序
本文关键字:Mac Windows iOS 应用程序 桌面 创建 VB Studio Visual | 更新日期: 2023-09-27 18:02:05
我可以在visual studio中创建可以在Mac, windows和iOS上运行的应用程序吗?我的客户要求我创建一个可以在Mac, Windows或iOS上通过一键安装运行的业务应用程序,他宝贵的应用程序是用c#开发的Windows应用程序,目前只能在Windows上运行。我见过xamarin,还有其他选择吗?任何帮助或建议将不胜感激。谢谢。
Mono是一个跨平台的、开源的。net框架。
是和否;)
这是可能的(和全新的)通过Visual Studio和Mono(据我所知它是一个。net的开源实现),但你仍然需要一个mac来编译iOS/OSX版本,一个iPhone/iPad/iPod touch来测试设备等。
老实说,我会分别开发OSX应用、iOS应用和Windows应用。愿意一次做所有的事情是好的(通常是一个成本问题),但这不是一个真正的选择(除非成本是主要问题)。
即使在iOS和OSX之间也存在许多差异,不同的概念(在OSX上可以选择多个窗口/在iOS中只有一个窗口,即使是常见的东西也有不同的API, iOS应用的"触感"会让你的工作方式不同,屏幕大小会让你想到不同的功能,或者不是所有功能都适合iOS应用)。"用户友好性"是需要考虑的因素。windows用户和mac用户不习惯相同的界面,相同的应用程序概念,手机或触控板上的手势,mac应用程序通常不使用(F1,F2等键),等等。
有像phoneGap这样的东西(好吧,不是你问题的桌面部分),它说一切都适用于所有手机,但它没有受益于平台的优势,它是较低的公分母,这意味着你的应用通常比本地制作的效率低。
更危险的是,你继承了这些工具的错误,有些可能真的很难理解(我的代码中有问题吗,在phoneGap/xamarin中?),你可能会在这些事情上浪费很多时间。
最终只是成本问题。
即使来自微软的Excel在OSX和Windows平台之间也是不同的,他们甚至修复了mac版Excel 2011中的一个bug,这个bug在Windows版本中仍然存在;)(如果我没记错的话,他们有不同的业务部门)
所以,是的,业务逻辑,但mac应用程序不仅仅是objective-C,你可以在Xcode中导入/使用C或c++文件。
我的2美分。
你可以创建一个独立于机器、架构的web应用程序。
或者您需要为Windows和Mac OSX创建两个不同的平台应用程序,它们共享存储在某些服务器或任何类型的机器上的相同数据库。
正如MusiGenesis所建议的那样,Mono可能会为你做到这一点。你仍然需要Xamarin的MonoTouch支持iOS,但如果你把你的业务逻辑分离到一个单独的程序集,可以很容易地重用。
您可能还想考虑为桌面版本创建两个不同的项目,一个使用MonoMac,另一个使用WPF(用于Windows),以便为您的用户提供更好的体验,但仍然将实际逻辑放在一个单独的程序集中,您可以在所有平台上重用。