苹果公司用“Cocoa”一词表示OS X上一组供应用程序使用的库。iOS上对应的术语是“Cocoa Touch”,它针对触屏设备进行了调整。
Cocoa包含三个主要的Objective-C对象库,称为“框架”。
框架的功能类似于动态库,即可以在运行时动态的载入应用程序的地址空间,但框架作为一个捆绑而非独立文件,其中除了可执行代码外,也包含了资源,头文件和文档。
“Foundation工具包”,或简称为“Foundation”,首先出现在OpenStep中。
在Mac OS X中,它是基于Core Foundation的。作为通用的面向对象的函数库,Foundation提供了字符串,数值的管理,容器及其枚举,分布式计算,事件循环,以及一些其它的与图形用户界面没有直接关系的功能。其中用于类和常数的“NS”前缀来自于Cocoa的来源,NeXTSTEP。它可以在Mac OS X和iOS中使用。
“应用程序工具包”,或称AppKit(Application Kit)是直接衍生自NeXTSTEP的AppKit的。它包含了程序与图形用户界面交互所需的代码。它是基于Foundation建立的,也使用“NS”前缀。它只能在Mac OS X中使用。
“用户界面工具包”,或称UIKit(User Interface Kit),是用于iOS的图形用户界面工具包。与AppKit不同,它使用“UI”的前缀。