让Cocoa应用程序在Windows上运行有多难?

Sam*_*ler 26 windows macos cocoa

关于Cocoa维基百科文章中,它说:

还有Cocoa框架主要部分的开源实现,允许跨平台(包括Microsoft Windows)Cocoa应用程序开发,如GNUstep,CappuccinoCocotron.

然而,当我查看Mac应用程序Tweetie是否可用于Windows时,开发人员已将其排除在外:

Windows没有Cocoa,Tweetie的编程环境,因此,它看起来很可能.

我想得到一个答案,指出Tweetie开发人员(以及作为其他可可开发人员的资源)会告诉他们:

  • 哪种实现最适合在Windows上运行可可应用程序?
  • 在Windows下运行应用程序可能需要多少工作?
  • 维护Mac和Windows的通用代码库有多容易/多难?
  • (我错过了任何其他考虑因素?)

当然,如果这项工作太多,我也想知道这一点,然后再提出建议,并可能会让其他人进行无效搜索.

Pet*_*sey 12

别忘了:

  1. "Cocoa框架的主要部分"与"整个Cocoa框架"不同.Tweetie可能正在使用缺少的东西.
  2. 特威特可以使用API​​从非Cocoa框架,比如核心基础,核心服务,核芯显卡和Core Animation的是(很可能是).仅Cocoa框架的端口将不包含任何这些API,甚至更完整的Mac-API仿真框架也不会包含所有这些API.
  3. 这些框架永远在追逐Apple.即使它们赶上了,它们也将在下一个Mac OS X版本中再次落后.Mac开发人员在等待用户升级到这些新版本时,已经推迟在新Mac OS X版本中使用新API; 现在你要求atebits 等待其他框架开发人员再次赶上Apple.
  4. 现有API的任何第二个实现都会有第一个实现没有的错误,反之亦然.这些差异将导致开发和支持问题.
  5. 您要求atebits将第三个平台添加到已存在于两个平台上的应用程序中.支持一个平台需要做很多工作.支持两个平台是一项很多工作.支持三个?现在你进入了大公司领域.

所以,即使使用这些类似Cocoa的框架,答案是:很难.


zpe*_*esk 1

有用于Objective-C(用于编写 cocoa 应用程序的编程语言)的 Windows 编译器。然而,Cocoa 包含了用于呈现 GUI 的框架。这些视觉框架特定于 Mac OS X,因为它们仅使用 OS X 窗口和其他控件。因此,有人需要重新实现 Cocoa 中的控件才能使用 Windows 控件。

另外,我相当确定 Tweetie 仅使用 Mac OS X 技术,例如 Core Animation。Windows 上不存在这种情况,因此应用程序中呈现的精美动画效果必须以完全不同的方式实现。