API和SDK的区别
先来看下晦涩难懂的书面定义:
API:Application Programming Interface,应用程序编程接口。是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问原码,或理解内部工作机制的细节。
SDK:Software Development Kit,软件开发工具包。一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
通俗一点的理解:
API:软件A里你需要的功能打包好,写成一个函数,按流程,放B里就可以直接用来(比如手机、电脑上连数据线的接口即API接口)。
SDK:有公司开发出某种软件的某一种功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用,其他公司想要给软件开发出某种功能,但又不想从头开始搞开发,直接付钱买完事。
区别:具有关联性的两种东西。SDK可以想象成一个虚拟的程序包,这个程序包中有份做好的软件功能,这个程序几乎是全封闭的,只有一个接口可以连接外界,此接口即API。
有一杯密封的奶茶——SDK 奶茶上的吸管——API