API
- API 即应用编程接口(Application Programming Interface)。
- 通常是某个系统对开发者开放的函数式编程的声明以及相关功能的二进制实现
SDK
- SDK 就是 Software Development Kit 的缩写,翻译过来——软件开发工具包。
- 可以说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK。
- SDK被开发出来是为了减少程序员工作量的。
- 比如——有公司开发出某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用,其他公司如果想要给软件开发出某种功能,但又不想从头开始搞开发,直接付钱省事。
举例
- 研发人员A开发了软件A,研发人员B正在研发软件B。
- 有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?
- 研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数。你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!
- 其中,API就是研发人员A说的那个函数。
区别
举个形象的小栗子:
- 有一杯密封饮料,它的名字叫做“SDK”。
- 饮料上插着吸管,吸管的名字叫“API”。
- 如果你想喝到SDK里的饮料(让系统拥有SDK中的功能),你必须通过API这根吸管来实现(通过API连接你的系统和SDK工具包),否则你就喝不到饮料。
- 所以:
- SDK=放着你想要的软件功能的软件包
- API=SDK上唯一的接口