API vs工具包vs框架vs库

API vs工具包vs框架vs库,api,frameworks,terminology,toolkit,Api,Frameworks,Terminology,Toolkit,我的问题很简单,我想用一个简单的例子给出一个清晰的答案 API、Toolkit、Framework和Library之间的主要区别是什么?这些术语有时会被错误地更改 类似帖子如下: 我更喜欢将库作为模块或命名空间的别名调用。Toolkit和A.P.I.通常是一组用于共同任务的库。尽管如此,与面向对象编程相比,A.P.I.更多地用于过程编程。这一直是我的理解,毫无疑问,你会在这个主题上看到不同的观点: API(应用程序编程接口)-允许您以独立的方式在已经运行的应用程序中使用代码 框架—为特定任务

我的问题很简单,我想用一个简单的例子给出一个清晰的答案


API、Toolkit、Framework和Library之间的主要区别是什么?

这些术语有时会被错误地更改

类似帖子如下:


我更喜欢将库作为模块或命名空间的别名调用。Toolkit和A.P.I.通常是一组用于共同任务的库。尽管如此,与面向对象编程相比,A.P.I.更多地用于过程编程。

这一直是我的理解,毫无疑问,你会在这个主题上看到不同的观点:

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

框架—为特定任务/应用程序类型提供基类和接口的代码,通常采用设计模式的形式。(尽管并非总是如此)

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

工具包相关代码,可用于在组件级别完成任务。

我更喜欢以下内容:

  • API是对如何使用应用程序的抽象描述。例如,API可以描述聊天服务器的功能语法(声明)。i、 e.登录、发布消息、订阅消息。并且,它描述了使用该应用程序的任何协议。i、 e.必须在发送或接收消息之前登录,否则如果不发送或接收消息,客户端将在2分钟后被丢弃
  • 库是API的实现,它包含实现函数和协议(维护使用状态)的编译代码
  • 工具箱是一组组合在一起的库(API)和服务,为开发人员提供更广泛的可能解决方案。例如,Globus Toolkit提供开发人员可以在其服务器上安装和启动的服务(如文件传输、作业子任务和调度)。它们还提供API来构建可能使用以集成方式部署的服务的应用程序。例如,开发人员可以构建一个使用作业提交API与作业提交服务通信的程序
  • 框架是一套防止不适当使用或开发的指导原则。开发人员必须在框架的规则和边界内构建他们的应用程序。这是通过迫使开发人员扩展当前框架来开发新软件来实现的。通过扩展框架,可以强制对框架进行附着
  • 我并不是说这些都是完全正确的,但到目前为止对我来说还不错