API 和 SDK 的区别
用大白话来聊聊 API 和 SDK 的区别:
1. API (应用程序编程接口) - 就像餐厅的菜单
- 想象场景: 你去餐厅吃饭。
- API 角色: 菜单就是 API。
- 作用: 菜单上列出了餐厅能提供的菜品(功能),以及你如何点餐(使用这些功能)。你只需要知道菜名和做法,不需要知道后厨是怎么炒菜的。
- 本质: API 是一组预先定义好的“指令”,告诉你可以做什么,以及怎么做。它允许不同的软件之间互相“对话”,互相使用对方的功能。
简单总结:
- API 告诉你“我能做什么,怎么做”,你只需要按照它的规则来调用。
- API 关注的是功能的 接口,隐藏了内部的实现细节。
2. SDK (软件开发工具包) - 就像一个工具箱
- 想象场景: 你想自己在家做一道复杂的菜。
- SDK 角色: 工具箱里有锅碗瓢盆、菜刀、各种调料等等。
- 作用: SDK 包含了开发某个软件或使用某个平台所需的各种工具、库、文档和示例代码。 你可以用这些工具来更方便地开发,不用从零开始。
- 本质: SDK 是一个更全面的开发包,它通常会包含 API,以及其他辅助开发的资源。
简单总结:
- SDK 不仅告诉你“我能做什么,怎么做”,还提供 工具 帮你更好地完成任务。
- SDK 关注的是 开发 过程,简化开发流程。
更直观的例子:
- 微信分享功能:
- API: 微信提供一个“分享”的 API,你调用这个 API,就能把内容分享到微信。你只需要知道 API 的参数(分享的标题、内容、图片等),不需要知道微信内部是怎么实现分享的。
- SDK: 微信提供一个 SDK,里面包含了分享的 API,还有一些辅助你开发分享功能的工具(比如微信登录、支付相关的 API 和工具),以及开发文档和示例代码。
API 和 SDK 的关系:
- SDK 通常包含 API。API 是 SDK 的一部分,但 SDK 不仅仅是 API。
- API 是更基础的接口,而 SDK 是一个更全面的开发解决方案。
用表格总结:
| 特性 | API | SDK |
|---|---|---|
| 比喻 | 菜单 | 工具箱 |
| 核心 | 接口 (Interface) | 工具 (Tools) |
| 作用 | 提供功能访问的途径 | 提供开发、构建和运行软件所需的工具、库、文档、示例等。 |
| 包含关系 | 通常被包含在 SDK 中 | 包含 API,但不仅仅包含 API。 |
| 使用场景 | 需要使用某个软件或平台的功能时 | 需要基于某个平台或技术进行开发时 |
API 和 SDK 的区别
https://schrodingerfish.github.io/2025/06/13/Web/API 和 SDK 的区别/