概念
1、SDK:软件开发工具包(SDK,全称:Software Development Kit)
是指工程师为辅助开发某类软件的相关文档、范例和工具的集合,使用SDK可以提高开发效率,更简单的接入某个功能。
2、API:API(Application Programming Interface,应用程序编程接口)
一般是指一些预先定义的函数,目的是无需访问源码,提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力。
区别
1、API是一个具体的函数,一个具体的功能;SDK是像多方法的集合体,是一个工具包。(SDK=众多API+说明文档+其他文件)
2、SDK不仅拥有完善的接口,还有相关的开发环境,API需要使用者提供环境。
3、SDK相当于开发集成工具环境,API就是数据接口。在SDK环境下调用API数据。
优势
1、选择API
优势:API开发成本低,对接比较简单,可以快速验证商业模式和用户体验。
劣势:API会经过对接平台,厂商可以获取对接平台相关数据信息。
2、选择SDK
优势:SDK对接后的功能比较稳定,响应速度快,而且对接平台相关数据不会被获取。
劣势:需要开发的环节较多,开发工作量大,对接周期略长。
总的来说,两者没有值得比较的区别,因为是具有关联性的两种东西。
你可以把SDK想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,只有一个小小接口可以联通外界,这个接口就是API。
比如——
我们现在要在企业ERP系统中增加某个功能(比如自动备份、数据分析、云存储等),但又不想耗费大量时间、也没那么多研发亲自去做这个功能。这时我们可以选择使用这个“SDK”软件包,把ERP系统连接上API接口,就可以使用SDK软件包里的功能。
注意事项
在实际开发过程中,如果只是简单功能调用,还是使用API更快速便捷一些;如果是繁琐复杂的功能,多数情况下还是使用SDK更稳妥一些。