API来自英文“Application Programming interface”,意思是“应用程序编程接口”。它是库的一部分,由使用该库的程序访问;从而使库的使用独立于实现细节。一个 API 可以由不同的库实现。
框架是促进软件开发的一组集成工具。可能包括 API 和库。但它也可以包括其他元素,如调试工具、图形设计、原型设计、编辑等。
API 和库这两个术语经常互换使用。但请记住,API 始终是唯一的(除了不同的版本),并且 API 不包含实现细节。而库不必是唯一的,并且必须包含完整的实现。API 的独特性非常重要,它允许您使用 C++ 为 Linux 编写程序,并且如果该程序使用的库可用于两个系统,则该程序无需修改即可在 Mac 上运行。
库是一组元素(函数、类、预定义类型、常量、全局变量、宏等),可以在程序中使用以促进该程序的实现。
API来自英文“Application Programming interface”,意思是“应用程序编程接口”。它是库的一部分,由使用该库的程序访问;从而使库的使用独立于实现细节。一个 API 可以由不同的库实现。
框架是促进软件开发的一组集成工具。可能包括 API 和库。但它也可以包括其他元素,如调试工具、图形设计、原型设计、编辑等。
API 和库这两个术语经常互换使用。但请记住,API 始终是唯一的(除了不同的版本),并且 API 不包含实现细节。而库不必是唯一的,并且必须包含完整的实现。API 的独特性非常重要,它允许您使用 C++ 为 Linux 编写程序,并且如果该程序使用的库可用于两个系统,则该程序无需修改即可在 Mac 上运行。
一个库的例子是 Oracle 的 JavaMail。可以通过直接对套接字进行编程来制作发送电子邮件的程序。但是使用 JavaMail 或任何其他电子邮件库要快得多,因为这些库已经实现了您需要的功能。它不仅速度更快,而且更不容易出错,尤其是在广泛使用的库中;由于代码经过数百万用户的测试,开发社区通常会比单个程序团队做得更好。
CORBA 是一个 API。但是可能有 Linux 的实现,Mac 的另一个实现,等等。
框架的一个例子是 Unity3D,它提供了一组促进视频游戏开发的工具。
很好,关于技术定义,我认为答案不会有任何问题,其余的可能会造成混乱。
库是服务于特定目的的对象和函数的集合。
框架是一组模式,可帮助您构建 Web、应用程序......
API是其他程序与您的程序交互而无需直接访问的接口。
简而言之,库就像一个插件,框架是骨架,API是面向可视层与之交互的部分。