SDK和API的区别

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

一、API的概念

我们先来看这样一张图:
api
(图画的很烂就请不要在意了)

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

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

二、SDK的概念

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

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

三、SDK和API的区别

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

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

这里是正在思索改名的万物之恋,下次再见了!

  • 100
    点赞
  • 520
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值