什么是API,SDK和API之间有什么关系呢?
好久没有写博客了,刚看的文章想说说自己的理解。毕竟我不是什么大神我只是爱看文章的程序猿。
首先呢让我唱响国际歌:起来饥寒交迫的程序员,起来全世界开发的人。好了别改变人家的歌词了。皮埃尔·狄盖特 的棺材板盖不住了。言归正传=======>
随着软件规模的日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要,程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分,良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。API是接口的一种,在程序交互中具有重要的作用,而SDK与API有着密不可分的关系。(套用别人文章的开头)。
我先说说那个API吧,他是啊应用性的编程接口,是一些预先定义的函数,其实最主要的目的就是当做介质连接两个不同的东西,提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
说白了啊就是别人写好的可以实现特定功能的函数,而你只需要根据他提供好的接口,也就是调用他的方法,传入他规定的参数,然后这个函数就会帮你实现这些功能。
从interface来讲,在咱们开发行业是指两个不同系统之间交互的地方,大可以到两个完整的不同系统,小可以到两段程序。那么程序和程序交互的就叫做API,所谓交互,其实就是传递数据,触发功能。
做一个情景再现
假如你公司网站上有一个表格是用来给客户注册预约的。你想要凭借这些预约细节信息,让客户能够自动在浏览器日程上创建活动。这就意味着,你的网站服务器需要直接与浏览器服务器进行对话,在掌握既定细节信息的情况下,申请创建活动。之后,你的服务器就会接收到浏览器的响应并进行处理,然后将相关信息发送回浏览器,比如说向用户发送一个确认信息。
API又分为(Windows、Linux、Unix等系统的)系统级API,及非操作系统级的自定义API。API又分为开放式API和私有API。顾名思义,开放式API即是向所有人公开的接口,允许任何人调用它并获取到它背后的数据,有时公司会将 API 作为其公共开放系统,也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。私有API即接口未对外开放。
可能我看到的 或者自己理解的,还有简简单单的复制
SDK
SDK 百度告诉我是 “软体开发工具包” 剩下的百度的话我就不说了啊 ,通常SDK是由特别大佬级的公司提供专业服务的集合,程序员不需要再对产品的每个功能进行开发,选择合适稳定的SDK服务并花费很少的经历就可以在产品中集成某项功能。
SDK : interface 区别
SDK相当于开发集成工具环境,API就是数据接口。在SDK环境下调用API数据,实际上SDK包含了API的定义,API定义一种能力,一种接口的规范,而SDK可以包含这种能力、包含这种规范。但是SDK又不完完全全只包含API以及API的实现,它是一个软件工具包,它还有很多其他辅助性的功能。
API
前端调用后端数据的一个通道,就是我们俗说的接口,通过这个通道,可以访问到后端的数据,但是又无需调用源代码。
SDK
工程师为辅助开发某类软件的相关文档、范例和工具的集合,使用SDK可以提高开发效率,更简单的接入某个功能。
举例说明:一个产品想实现某个功能,可以找到相关的SDK,工程师直接接入SDK,就不用再重新开发了。