比如我们常用的支付宝,接入支付宝 SDK,就可以实现支付功能,在线交易;比如现在直播视频比较火,接入直播的SDK,就可以实现在线直播的功能。
但是,据说这两个词总会让程序猿悲喜交加。因为,不论是销售还是产品等相关人员总会问:SDK和API到底是什么鬼?今天我们就来搞明白它!
API 和SDK 到底是什么
API 和SDK是软件行业的两个缩写词。
API (Application Programming Interface)=应用程序编程接口
通过一套套的要求,用来管理应用程序之间的沟通。一个API相当于你跟它说要求,它会为你完成任务。而且你不需要知道它是如何做到的,你只需要问你想要的东西。
SDK (Software Development Kit)=软件开发工具包
可用于开发面向特定平台的软件应用程序的工具包。举个例子,如果你想组装一个模型车或飞机。在构建这个模型时,需要一整套物品去组装。SDK相当于组装它们所需的工具,包括装配说明等等。
可能你还不够明白,为了便于理解,我们就再举个不完全恰当的例子。你想吃面包,而你家对街有一家面包店卖面包和烤面包机。API方式是你经过马路去这家面包店买了一个面包。API就是买面包。而SDK方式是,你向面包店买了一个烤面包机,在自己家里安装好,然后烤了一个面包。SDK是这个面包机和配料。
如何选择API和SDK对接
但是,问题又来了。API和SDK这两种产品对接方式,选择哪种比较好呢?
API和SDK对接,适合最重要。没有哪种最好,只有最适合。
API和SDK最终实现的功能都是一样的,至于采用哪一种,需要结合对接平台的需求(保密程度,特殊需求、开发成本等等)。
选择API
优势:API开发成本低,对接比较简单,可以快速验证商业模式和用户体验。
劣势:API会经过对接平台,厂商可以获取对接平台相关数据信息。
选择SDK
优势:SDK对接后的功能比较稳定,响应速度快,而且对接平台相关数据不会被获取。
劣势:需要开发的环节较多,开发工作量大,对接周期略长。
所以,大家在实际开发过程中,如果只是简单功能调用,还是使用API更快速便捷一些;如果是繁琐复杂的功能,多数情况下还是使用SDK更稳妥一些。