奇思妙想 · 2024年 5月 1日 0

Carbon库的没落

83 次浏览

Carbon是一个较老的框架,用于在经典Mac OS开发应用程序。它主要是基于C语言编写,主要用于与macOS(早期是Mac OS)的界面交互。而Cocoa是一个较新的框架,基于OpenStep和Objective-C开发的,主要用于创建图形用户界面和与之交互。Cocoa和Carbon在早期是平行的关系,但它们在绘制窗口相关的界面库并不相同。Cocoa包含了Foundation Kit和AppKit,而Carbon则包含Core Foundation和Toolbox重组过来的界面库。随着时间的推移,Cocoa逐渐成为macOS应用程序开发的主要框架,而Carbon则逐渐被淘汰。

值得注意的是,Carbon和Cocoa早期为了尽可能的共享通用代码,它们关于Foundation模块中代码会进行一些函数映射,比如CGPoint和NSPoint会有如下定义:typedef CGPoint NSPoint.

Carbon是2000年发布,2007年,Mac OS X 10.5发布,macOS开始向64位过渡,苹果也宣布64位环境和Carbon API不兼容,推荐Cocoa框架,由此Carbon开始没落。2012年10.8版本,苹果不再继续维护更新Carbon. 2017年10.13版本,苹果macOS完全不支持32位应用程序,Carbon已经很少有人提及了。iOS平台不支持Carbon.

注意,不要和Google为了实现"更好的C++"的Carbon语言混淆,它们只是名字恰好一样。