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 的区别/
作者
Johnson
发布于
2025年6月13日
许可协议