Framework框架或软件框架是用于开发软件应用程序的平台,它为软件开发人员可以为特定平台构建程序提供了基础。例如,框架可以包括可用于处理输入,管理硬件设备以及与系统软件交互的预定义的类和功能。由于程序员无需在每次开发新应用程序时都重新发明轮子,因此可以简化开发过程。

框架与应用程序编程接口(API)相似,尽管从技术上讲框架包括API。顾名思义,框架是编程的基础,而API提供了对框架支持的元素的访问。框架还可以包括代码库,编译器和软件开发过程中使用的其他程序。

存在几种不同类型的软件框架,流行的例子包括用于Windows开发的ActiveX和。net,用于Mac OS X的Cocoa,用于iOS的Cocoa Touch,以及用于Android的Android应用程序框架。

软件开发工具包(sdk)可用于这些框架中的每一个,并包括专门为相应框架设计的编程工具。例如,苹果的Xcode开发软件包括一个Mac OS X SDK,它是为Cocoa框架编写和编译应用程序而设计的。

在许多情况下,操作系统会原生支持软件框架。例如,为Android应用程序框架编写的程序将在Android设备上运行,而无需安装其他附加文件。但是,某些应用程序需要特定的框架才能运行。例如,Windows程序可能需要Microsoft .NET Framework 4.0,但并非所有Windows机器(尤其是运行Windows早期版本的PC)都安装了Microsoft .NET Framework 4.0 。在这种情况下,必须安装 Microsoft .NET Framework 4安装程序包才能运行程序。

注意:虽然框架通常是指广泛的软件开发平台,但该术语也可以用于描述较大的编程环境中的特定框架。例如,可以使用多个Java框架(例如Spring,ZK和Java Collections Framework(JCF))来创建Java程序。此外,Apple还创建了几个可以由OS X程序访问的特定框架。这些框架以.FRAMEWORK文件扩展名保存,并安装在/ System / Library / Frameworks目录中。OS X框架的示例包括AddressBook.framework,CoreAudio.framework,CoreText.framework和QuickTime.framework。