SDK和API的区别是什么

小编 7368

SDK和API的区别是:1.概念不同;2.性质不同;3.封装的形式不同;4.功能和目的不同。概念不同在于,API是指应用程序编程接口,是一些预先定义的函数或软件系统不同部分组成衔接的约定,而SDK是软件开发工具包,即一组开发工具的集合。

1.概念不同

API(Application Programming Interface)应用程序编程接口,是一些预先定义的函数,或者软件系统不同部分组成衔接的约定。

SDK(Software Development Kit)软件开发工具包,一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。

2.性质不同

API是一个确定的功能,已经明确了它的作用(比如做加法)。而SDK就像是很多方法的集合体,是一个工具。比如你要做加法,你就调用计算机SDK的加法API实现,要做减法就调用减法API实现,无论你想完成什么计算,SDK里总有能实现的方法。

3.封装的形式不同

API是封装在服务端层面的library,从网络服务的层面暴露出一些API接口,提供给使用这些服务的人去调用。因为封装在服务的层面,传输数据用的是网络协议(常用HTTP/TCP),就不需要管他是用什么语言实现的。

SDK的封装是在客户端层面的一个library(也叫做“包”或者“库”),这个library提供一些客户端API接口,类似于已经写好了的函数,你只需要调用它就好了。SDK暴露出来的接口都是和语言相关的,如果SDK是用Java写的,就需要用Java去调用那个函数;如果是SDK是用Objective-C写的,就需要用Objective-C去调用那个函数。

4.功能和目的不同

API的主要功能为提供通用功能集,API同时作为一种中间件,为各平台提供数据共享的能力;而SDK发明的目的就是为了减少工作量,其主要功能是帮助程序员开发应用程序。

延伸阅读

SDK由哪几部分组成

SDK会由专业的公司提供专业的服务的集合,比如涂鸦App SDK,为开发者提供了丰富组件和示例代码。它可协助软件开发人员面向特定的平台、系统或编程语言创建应用,SDK在其工具集中包含部分或全部这些资源:

  • 编译器:它会将某种编程语言写成的源代码转换成另一种编程语言。
  • 代码示例:是一个完整的网页或应用程序,在其描述中引用了所有必需的源文件。
  • 代码库(框架):提供程序员重复使用代码序列的快捷方式。
  • 测试和分析工具:深入了解应用程序或产品在测试和生产环境中的表现。
  • 文档:为开发人员提供他们可以随时参考的说明。
  • 调试工具:帮助团队发现代码中的错误,以便他们可以推出按预期工作的代码。

通常,SDK中还包含至少一个API,因为没有API,应用程序无法传递信息并协同工作。相比于API,SDK功能齐全,适用于复杂功能调用。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部