SDK意为“软件开发工具包”,一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。如果公司要使用第三方的数据平台,就要接入SDK。SDK和API都是类似于公共服务的东西,都代表的是一种封装,只是封装的形式不一样:
SDK的封装是在客户端层面的一个library(也叫做“包”或者“库”),这个library提供一些客户端API接口,类似于已经写好了的函数,你只需要调用它就好了。SDK暴露出来的接口都是和语言相关的,如果SDK是用Java写的,就需要用Java去调用那个函数;如果是SDK是用Objective-C写的,就需要用Objective-C去调用那个函数。而API是封装在服务端层面的library,从网络服务的层面暴露出一些API接口,提供给使用这些服务的人去调用。因为封装在服务的层面,传输数据用的是网络协议(常用HTTP/TCP),就不需要管他是用什么语言实现的。