什么是API?
定义:
API是Application Programming Interface的缩写,翻译成汉语是“应用程序编程接口”的意思。它是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
剖析:
通俗一点讲,就是别人已经写好的可以实现特定功能的函数,而你只需要根据他提供的接口,传入他规定的参数,然后这个函数就会帮你实现这些功能。
实例:
在日常企业网站开发中,如联系方式中百度地图定位公司的调用,就是通过百度公司提供的API来实现的。又如,企业网站找回密码所使用的阿里云短信服务,其实也是通过其提供的API数据接口实现的。
什么是SDK?
定义:
SDK是Software Development Kit的缩写,翻译成汉语是 “软体开发工具包”的意思。它是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
剖析:
通俗点是指由第三方服务商提供的实现软件产品某项功能的工具包。通常情况下,SDK是由专业性的公司提供专业服务的工具集,如推送技术、图像识别技术、移动支付技术、语音识别分析技术等。在互联网日趋开放的大环境下,一些功能性的SDK已逐步被当作一个产品来运营。
有了SDK,开发者就无需再对产品的某一个特殊功能进行原始开发了。选择合适、稳定的SDK服务商,能够有效地帮助开发者花费极少精力就可将某项功能集成到产品中,从而大大提升了产品的开发速度、节约开发成本。
实例:
如微信小程序就是通过腾讯开放平台提供的SDK进行深度开发的。
API与SDK的区别是什么?
SDK相当于开发集成工具环境,API就是数据接口;在SDK环境下调用API数据。
用大白话是怎样阐述的?
API:
它是前端调用后端数据的一个通道,就是我们俗称的接口,通过这个通道,可以访问到后端数据,但是又无需调用源代码。
SDK:
它是工程师为辅助开发某类系统的而制作的相关文档、范例和工具的集合,使用SDK可以提高开发效率,更加简单地接入某个功能。例如,一个产品若想实现某个功能,可以找到相关的SDK,工程师直接接入SDK,就无需再重新开发此功能了。