SDK 和 API 的区别是什么?
开发者全社区
共 1635字,需浏览 4分钟
·
2022-03-11 04:49
作者:简道云
链接:https://www.zhihu.com/question/21691705/answer/770586138
讲个小故事:
研发人员A开发了软件A,研发人员B正在研发软件B。
有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?
研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数。你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!
其中,API就是研发人员A说的那个函数。
这就是API的诞生。
日常生活中,我们有很多类似API的场景,比如:
电脑需要调用手机里面的信息,这时候你会拿一根数据线将电脑手机连接起来,电脑和手机上连接数据线的接口就相当于“API接口”。如图所示:
那SDK又是什么?
比如——
有公司开发出某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用,其他公司如果想要给软件开发出某种功能,但又不想从头开始搞开发,直接付钱省事。
现在可以谈谈API和SDK的区别了。
我们现在要在企业ERP系统中增加某个功能(比如自动备份、数据分析、云存储等),但又不想耗费大量时间、也没那么多研发亲自去做这个功能。另外搜索公众号互联网架构师后台回复“2T”,获取一份惊喜礼包。这时我们可以选择使用这个“SDK”软件包,把ERP系统连接上API接口,就可以使用SDK软件包里的功能。
举个实例辅助理解:
所以:
不知道你这次真的懂了没?
评论