一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万

在正式了解它们的区别之前,我们得先知道 SDK 和 API 分别是什么?

一、API的概念

我们先来看这样一张图:

  API 的全称为 Application Programming Interface,翻译过来的意思就是应用程序编程接口。实际上,API 是一些预先定义的函数,目的是提供应用程序与开发人员基于某个软件或硬件,得以访问一组进程的能力。不需要直接去访问源码,或去深刻理解内部工作机制的细节。实际上我们可以通过一个日常生活工作中的事来更好的理解 API 的概念:

  在没有网络的工作或生活条件下,我们如果需要通过电脑来获取手机中存储的信息时,可以使用一条数据线来连接手机和电脑。在这个场景下,电脑和手机上承载数据线的接口就相当于我们在编程中常说的“API接口”。

二、SDK的概念
  SDK的全称为 Software Development Kit,翻译过来的意思就是软件开发工具包。这是一个覆盖面相当广泛的名词,简单来说就是:辅助开发某一类软件的相关文档、演示举例和一些工具的集合,这些都可以称为 SDK。

  SDK 被开发出来的意义是为了减少开发者的工作量。例如:某公司开发出某种软件的某一功能,将其封装成 SDK(例如数据分析 SDK,就是能够实现数据分析功能的SDK),出售给其他需要的公司使用。这样就可以大大减少开发应用程序的工作量。

三、SDK和API的区别
  从根本上来讲,这两者的没有什么值得比较的地方,本质上是具有很强关联性的两个存在。我们可以将 SDK 解释为封装好功能的一个软件包,而这个软件包几乎是封闭的状态,只有一个接口可以进行访问,那这个接口就是我们所了解的 API。

  在面试中被问到这个问题时,面试官的本意应该是考察应试者的封装工具经验,以及对封装工具上的一些理解见解。

posted on   一杯清酒邀明月  阅读(512)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2020-09-08 Qt 将窗体变为顶层窗体(activateWindow(); 和 raise() )
2020-09-08 Qt QSS样式化 菜单Qmenu&QAction
2020-09-08 Qt 获取文件夹中的文件夹名字
2020-09-08 Qt 删除文件夹或者文件
2020-09-08 Qt菜单 QMenu QAction连接信号槽函数
2020-09-08 Qt TableView右键弹出菜单
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示