为什么并非所有Mac应用程序都能轻松移植到Linux?

Modified on: Thu, 08 Nov 2018 10:00:02 +0800

由于Apple OS-X操作系统是UNIX衍生产品(BSD),而底层(Intel)Mac架构是相同的,为什么在Linux上运行Apple特定应用程序并不是非常简单?

最佳答案

OS X实际上(大部分)是BSD之上的专有图形shell。要创建一个OS X GUI应用程序,必须遵循Apple公开的API,因此这不是跨平台的,不易移植。
这就是为什么大多数库 很容易移植(实际上大多数是在Linux上开发)到Linux但他们的图形shell。

旁注:有一些框架可用于创建跨平台GUI应用程序。想到Qt。但是这些框架是跨平台的事实也使得使用它们创建的应用程序在特定平台上的用户友好性低于“本机”GUI应用程序。这些框架倾向于使整个平台上的所有内容看起来都是通用的,在Apple的情况下这是不好的,因为Apple创建了一个非常特定的用户体验,不容易“适应”其他平台。

编辑(将评论纳入答案 - 感谢@Nick,@ kbisset和@John):
一个解决方案是将整个OS X图形shell(闭源Cocoa / Core库 - 这是使OS X真正独一无二的)移植到Linux。从技术上讲,Apple可以很容易地做到这一点,但他们没有理由,因为他们的整个商业模式是他们整个平台的独特性 - 硬件和软件。
有人可以尝试克隆这些库是有意义的,但这需要几十年的时间才能完成,并且可能永远不会是正确的,因为所有未记录的调用都必须被复制。

作者:,fretje

相关问答

添加新评论