我负责一个Delphi/Win32项目管理应用程序。我们刚刚完成了从Delphi 2009迁移。
越来越多的美国用户希望在他们的Mac电脑上使用该应用程序,而大部分用户是Windows用户。
是否有解决方案可以轻松构建一个Delphi应用程序,使其在MacOS上本地运行?
随着2011年底发布的RAD Studio XE2,Delphi开发者应该能够构建一次,分发于Win 32/64和MacOS 32,iOS支持也被承诺。
我负责一个Delphi/Win32项目管理应用程序。我们刚刚完成了从Delphi 2009迁移。
越来越多的美国用户希望在他们的Mac电脑上使用该应用程序,而大部分用户是Windows用户。
是否有解决方案可以轻松构建一个Delphi应用程序,使其在MacOS上本地运行?
随着2011年底发布的RAD Studio XE2,Delphi开发者应该能够构建一次,分发于Win 32/64和MacOS 32,iOS支持也被承诺。
Mac OS X不能运行Windows程序。它不提供您需要的任何API,例如kernel32、user32等函数。
您可以尝试通过Crossover运行程序。其他选项包括虚拟机,例如VMware Fusion和Parallels。
另一个可能尝试的方法是使用.NET。将您的程序转换为使用Delphi的.NET版本,然后在Mac上的Mono上运行它。但我不会对这种方法抱有太多信心。
这是一个非常古老的帖子,但对于浏览此处并在2011年第三季度或之后寻找答案的人来说,答案是肯定的。
随着今年Rad Studio XE2的发布,Delphi开发人员将能够为Mac OS创建本地应用程序,以及Win32、Win64和iOS平台,更多平台即将推出。
Delphi和Mac的未来可能有所希望。
Delphi.Org的播客回顾了CodeRage III(2008年12月)的闭幕演讲,Embarcadero的Wayne Williams谈到了未来。它说:
我认为Wayne演讲中最令人兴奋的部分是标有“未来”的幻灯片,列出了一些公司范围内正在进行的研究项目。它特别列出了Mac、Linux、Cloud、应用虚拟化、FireBird、Touch、64位、SMP和多核。当我询问是否有适用于Mac和Linux的Delphi时,他们说今天,使用Delphi Prism和Mono可以达到Mac和Linux,但在他们的实验室里,他们正在开发原生支持,并且已经取得了重大进展。
我听取了最近一次Delphi 2009展示电话会议的内容,他们说可以使用Delphi Prism在Mac上运行,并且有一个名为Oxidizer的自动转换工具。我不确定是否称其为本地化,因为您需要使用Mono,但我认为它比Wine更好。
另一种选择是开发基于Web的应用程序。这避免了“GUI不同”的问题,并使您能够专注于您的产品。如果您查看一些最新的AJAX控件,您可以获得接近完整桌面应用程序体验而不必牺牲太多。如果您的应用程序需要在本地运行,则使用Delphi开发本地Web服务,并将其翻译为专门针对OSX的Lazarus似乎是一项更容易管理的任务。
这个问题没有一个真正的好解决方案。有人提到了Lazurus,但它还没有完全成熟。Delphi不是跨平台工具。如果你真的想要一个Mac版本,那么你可能应该考虑其他选择。
如果你的应用程序面向消费者,你的用户会期望有很多Cocoa的好处。使用其他任何东西来制作Mac应用程序会让他们感到不满。
然而,如果它更像是一个商业应用程序,那通常就不那么重要了。我使用REALbasic构建了许多Mac/Windows商业应用程序。它与Delphi非常相似,所以应该很容易上手。