API vs Toolkit vs Framework vs Library

Azz*_*rio 10 api frameworks terminology toolkit

我的问题非常简单,我想通过一个简单的例子得到一个明确的答案.

API,工具包,框架和库之间的主要区别是什么?

Rya*_*ett 6

这一直是我的理解,你无疑会看到关于这个主题的不同意见:

API(应用程序编程接口) - 允许您在独立的功能中使用已经运行的应用程序中的代码.

Framework - 为您提供特定任务/应用程序类型的基类和接口的代码,通常采用设计模式的形式.(虽然不总是)

库 - 可以随意交换的相关代码,用于在类级别完成任务

工具包 - 可用于在组件级别完成任务的相关代码.


小智 6

我更喜欢以下:

  1. API是如何使用应用程序的抽象描述.例如,API可以描述聊天服务器的功能语法(声明).即login,publish_message,subscribe_messages.并且,它描述了使用该应用程序的任何协议.即必须在发送或接收消息之前登录,否则如果不发送或接收消息,客户端将在2分钟后被丢弃.
  2. 库是API的实现,它包含实现函数和协议的编译代码(维护使用状态).
  3. 工具包是一组库(API)和服务组合在一起,为开发人员提供了更广泛的可能解决方案.例如,Globus Toolkit提供devleoper可以在其服务器上安装和启动的服务(例如文件传输,作业调度和调度).它们还提供API来构建可以使用以集成方式部署的服务的应用程序.例如,开发人员可以构建一个程序,该程序使用作业提交API与作业提交服务进行通信.
  4. 框架是一套防止不当使用或开发的指南.开发人员必须在框架的规则和边界内构建其应用程序.这是通过强制开发人员扩展当前框架以开发新软件来完成的.通过扩展框架,您可以强制遵循框架.

我不是说这些都是完全正确的,但到目前为止它对我来说还算合适!