SDK与API的区别与关系

API和SDK的区别主要在一个是抽象的,一个是具体的。
SDK是software development kit,软件开发工具包,一个SDK是一个具体的东西,例如Java的JDK,它一定以某种形式存在,比如说是一个jar包,一个可以依赖的lib,一分可以直接引用的js代码。

SDK与API的联系在于,实际上SDK包含了API的定义,API定义一种能力,一种接口的规范。
而SDK可以包含这种能力,包含这种规范。我们常常说,这个SDK具有某某些API可以用。

但SDK又不完完全全只包含API以及API的实现,它是一个软件工具包,它还有其他辅助性的功能。例如JDK定义了JDBC API的规范,定义xml解析api的规范,但它也提供了很多工具包,例如常用数据结构Map,list等的封装,目的是方便使用者开发程序。

更形象的方式解释一下:
你想提取公积金,于是你公司的HR告诉你,你需要去找一个能办理公积金业务的银行。
这里的能办理公积金业务代表一种能力,一种API。如果一个银行具有办理公积金业务的能力,那么就说这个银行具有这种API。
而这个银行呢,它就是一个SDK,它提供办理公积金的能力,所有细节,并且,它还可能给你提供额外的功能,例如免费复印身份证复印件的功能。

转自:https://segmentfault.com/q/1010000007096790

转载于:https://www.cnblogs.com/whcwkw1314/p/8627001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值