7

碳和可可有什么区别?对于什么类型的应用我们应该使用碳,对于什么类型的应用我们应该使用可可?在 Mac OS 中开发应用程序哪一个是最好的?

4

4 回答 4

14

简短回答:对于新应用程序,请使用 Cocoa。一些遗留代码可能仍然使用 Carbon,如果您不需要任何新功能,它会继续工作。

Cocoa 有一个 Objective-C API,可以很容易地从 C 和 C++ 代码中访问。Carbon 是纯 C API。许多其他流行语言都有 Cocoa 和 Carbon 绑定,但通常存在一些限制。

Carbon 是从 1980 年代初用于原始 Apple Macintosh(和 Apple Lisa)的原始 API 演变而来的。具体来说,当 Mac OS X 发布时,Apple 无法支持一些遗留的 Mac OS API 功能,但提供了一个名为“Carbon”的遗留 API 子集,以简化拥有 Mac OS X 之前应用程序的开发人员的过渡。他们添加了数千个新的 API,并在几年内继续完全支持 Carbon,直到最近才最终弃用它。他们一直说 Carbon 是一条死胡同,所有开发人员都应该转向 Cocoa。

Cocoa 是从 Apple 收购并用作创建 Mac OS X 的基础的 NextStep 框架演变而来的。它是 Mac OS X 的“本机”API,也是访问某些最新功能的唯一途径。

于 2009-12-13T07:43:24.390 回答
10

Carbon 的创建是为了简化与 Mac OS 8 和 9 之间的迁移。如果您的代码需要在 OS 8 或 9 下运行,那么 Carbon 是您的最佳选择。(来源

但是,如果您的软件是为 OS X 设计的,那么您应该强调 Cocoa 而不是 Carbon。

于 2009-12-13T07:41:28.613 回答
4

不推荐使用 Carbon(它在 64 位中不存在也不会存在)。

对于新的应用程序开发,请使用 Cocoa(我说的是 Apple 规定的原生 OS X 应用程序开发。显然存在其他替代选择,例如 Java、Python、Ruby 等,根据您的项目类型,如果不需要本机 UI)

于 2009-12-13T07:26:07.683 回答
0

这取决于您要开发的应用程序的范围和功能。我将构建一个利用 MacInTalk 功能和新的 OSX 10.7 国际语音集的应用程序。官方文档指出,微调仅在 Carbon APIs 下提供,而 Cocoa APIs 受到更多限制。

具体来说,这些语音通道设置可通过 Carbon 中的 API 进行更改:速率、音高、音高调制和音量属性。这种可能性似乎无法通过 Cocoa 获得。

附带说明一下,语音合成编程指南的最新文档可以追溯到 2006 年,可能是 Cocoa 可以访问相同的功能,但尚未记录在案。

于 2013-06-26T12:57:45.813 回答