碳和可可有什么区别?我们应该在哪些应用程序中使用碳和在哪些应用程序中使用可可?在Mac OS上开发应用程序,哪一个更好?
碳和可可有什么区别?我们应该在哪些应用程序中使用碳和在哪些应用程序中使用可可?在Mac OS上开发应用程序,哪一个更好?
简短回答:对于新的应用程序,请使用Cocoa。一些遗留代码可能仍在使用Carbon,如果您不需要任何新功能,则它将继续工作。
Cocoa具有Objective-C API,并且可以轻松地从C和C ++代码中访问。Carbon是一个纯C API。许多其他流行语言都有Cocoa和Carbon绑定,但通常存在某些限制。
Carbon是从早期的Apple Macintosh(和Apple Lisa)的原始API发展而来。具体而言,当Mac OS X发布时,苹果无法支持一些旧版Mac OS API函数,但提供了一个名为“Carbon”的遗留API子集,以便为那些拥有Mac OS X之前应用程序的开发人员过渡。他们添加了数千个新API,并继续全面支持Carbon多年,最近才废弃它。他们一直说Carbon是一条死路,所有开发人员都应该转向Cocoa。
Cocoa是从苹果收购并用作创建Mac OS X基础的NextStep框架进化而来。这是Mac OS X的“本地”API,并且是访问一些最新功能的唯一方法。
Carbon技术的出现是为了方便在Mac OS 8和9之间进行转换。如果您的代码需要运行在OS 8或9上,那么Carbon是正确的选择。(来源)
然而,如果您的软件是为OS X设计的,那么应该优先考虑使用Cocoa技术。
Carbon已经作废(它在64位系统中不存在,也不会存在)。
对于新应用程序开发,请使用Cocoa(我指的是符合Apple标准的本地OS X应用程序开发。当然,如果您的项目类型不需要本地UI,则可以选择其他替代方案,例如Java、Python、Ruby等)。
这取决于您要开发的应用程序的范围和功能。我将构建一个利用MacInTalk功能和新的OSX 10.7国际语音集的应用程序。官方文档指出,只有在Carbon API下提供了微调,而Cocoa API则更为有限。
具体来说,这些语音通道设置可以通过Carbon API进行更改:速率、音高、音高调制和音量属性。这种可能性似乎在Cocoa中不可用。
顺便说一句,最新的Speech Synthesis Programming Guide文档可以追溯到2006年,也许Cocoa对相同功能的访问已经存在,但尚未记录。