API

概念

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。(百度百科)

理解

在Java中,API相当于是一个别人已经实现了某个功能的说明书。比如别人写了一个两个数字相加求和的方法:

public static int add(int a, int b){ return a + b;
}

然后他提供给你

返回类型 方法名称 功能介绍
int add(int a,int b) 返回a,b两个数的和

​ 这就相当于提供给你一个API接口。你虽然不知道这个方法是怎么实现的,但是知道该怎么调用这个方法。如果别人又写了一个两个数字相乘的方法,那又是一个新的API。

​ 就像我们平时看到JDK API 文档,里面提供的一个个方法就是一个API接口,下面图片是String类的部分方法,一个红框就代表一个API接口说明。平时我们说的API接口文档,其实就是API接口的使用说明书,你可以通过API接口文档,了解有哪些API接口,如何使用这些API接口。

SDK

概念

软件开发工具包(外语首字母缩写:SDK、外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。

理解

SDK就相当于很多API接口和其他文件的集合体。比如你要完成一堆数据的运算,需要用到各种计算方法(比如加减乘数,平方,开方),你去买了一个计算器产品,这个产品包含了一台计算器,一本使用说明(比如接口文档和案例演示)和一些其他文件,你用这个计算器完成了所有数据的运算。

整个计算器产品可以看做是一个SDK,它里面有API具体实现(计算器),说明文档(说明书),以及一些其他文件。这个SDK的功能就是计算,可能要算什么不确定,但是你可以通过这个SDK中的某个方法完成,实现你的目的。

SDK和API的区别

  • API是一个具体的函数,一个确定的功能,已经明确了它的作用(比如做加法)。

  • SDK就像是很多方法的集合体,是一个工具包。比如你要做加法,你就调用计算机SDK的加法API,要做减法就调用减法API,无论你想完成什么计算,SDK里总有能实现的方法。

  • SDK除了他提供的完善的接口,他还会给你提供相关的开发环境,而API需要的环境你得自己提供(比如传参)

  • SDK相当于开发集成工具环境,API就是数据接口。在SDK环境下调用API数据。(而这个SDK你可以自己配置或者下载第三方提供的)

  • API,前端调用后端数据的一个通道,就是我们俗说的接口,通过这个通道,可以访问到后端的数据,但是又无需调用源代码。对于api的使用,只要找到需要的API接口,根据接口文档和自己的APP进行对接就可以了。

  • SDK工程师为辅助开发某类软件的相关文档、范例和工具的集合,使用SDK可以提高开发效率,更简单的接入某个功能。举例说明:一个产品想实现某个功能,可以找到相关的SDK,工程师直接接入SDK,就不用再重新开发了。

如何选择API和SDK对接

API和SDK这两种产品对接方式,选择哪种比较好呢?API和SDK对接,适合最重要。没有哪种最好,只有最适合。API和SDK最终实现的功能都是一样的,至于采用哪一种,需要结合对接平台的需求(保密程度,特殊需求、开发成本等等)。

选择API

  • 优势:API开发成本低,对接比较简单,可以快速验证商业模式和用户体验。

  • 劣势:API会经过对接平台,厂商可以获取对接平台相关数据信息。

选择SDK

  • 优势:SDK对接后的功能比较稳定,响应速度快,而且对接平台相关数据不会被获取。

  • 劣势:需要开发的环节较多,开发工作量大,对接周期略长。

所以,大家在实际开发过程中,如果只是简单功能调用,还是使用API更快速便捷一些;如果是繁琐复杂的功能,多数情况下还是使用SDK更稳妥一些。

关注公众号:臻大虾,分享更多java干货
你的支持是对我不断创作的极大鼓励,咱们下期见

SDK 和 API 的区别,你都知道吗?相关推荐

  1. SDK和API的区别

    SDK和API的区别 一.API的概念 二.SDK的概念 三.SDK和API的区别 在正式了解它们的区别之前,我们得先知道 SDK 和 API 分别是什么? 一.API的概念 我们先来看这样一张图: ...

  2. SDK 和 API 的区别

    SDK SDK一般指软件开发工具包 软件开发工具包一般都是一些软件工程师为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件时的开发工具的集合. 软件开发工具广义上指辅助开发某一类软件的相关文档 ...

  3. 快速了解SDK和API的区别

    快速了解SDK和API的区别 SDK 是 Software Development Kit 的缩写,软件开发的工具包.辅助开发某一类软件的相关文档.范例和工具的集合都能叫做SDK. SDK被开发出来是 ...

  4. SDK与API的区别

    SDK就是Kit,工具箱嘛,IOS平台上就是XCode,一系列的工具组合在一起,比如你在编辑器里敲代码的时候它会自动补全代码,自动错误检查,你点一下Run,它会调用编译器来自动编译,编译完它会调用iP ...

  5. SDK和API的区别?

    转载自:点击打开链接 SDK就是Kit,工具箱嘛,IOS平台上就是XCode,一系列的工具组合在一起,比如你在编辑器里敲代码的时候它会自动补全代码,自动错误检查,你点一下Run,它会调用编译器来自动编 ...

  6. SDK与API的联系与区别

    在手机App的世界里,法规条文里所谓的"第三方应用或服务"是个看得见摸不着的存在.但事实上,不管是你每天收到的新闻推送,还是促销活动广告,甚至短信验证码,都有可能出自第三方之手. ...

  7. API,SDK和API之间的关系和区别

    随着软件规模的日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要,程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分,良好的接口设计可以降低系统各部分的相互依赖, ...

  8. SDK和API有哪些区别

    SDK和API的区别 软件开发中经常混淆的两个术语是 API 和 SDK.API 代表"应用程序编程接口",是指用于访问 Web 工具或数据库的编程指令和标准.例如,软件公司通常会 ...

  9. 什么是API,SDK和API之间有什么关系呢?

    随着软件规模的日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要,程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分,良好的接口设计可以降低系统各部分的相互依赖, ...

最新文章

  1. 智源论坛 | 智能处理器探索(3月21日)
  2. php 表单变量,PHP学习笔记——访问表单变量
  3. Bluetooth profile: ATT/GATT(襄坤在线)
  4. 一般线性模型和混合线性模型_线性混合模型如何工作
  5. vue 一个页面有点请求需要同时发送_前端性能优化,这些你都需要知道
  6. python使用virtualenv在本地新建虚拟环境
  7. redis rua解决库存问题_库存秒杀问题-redis解决方案- 接口限流
  8. 基于实验数据的轮胎模型
  9. 计算指数函数的和的对数
  10. 用fft对信号进行频谱分析实验报告_频谱分析之Analyzer软件分析
  11. 山东中职计算机应用基础课件,计算机应用基础课件(中职)-精选版.ppt
  12. 来LAMP兄弟连的日子
  13. OpenCV | 直线拟合fitline函数(Python)
  14. 【源码】锂电池模型、Simscape语言与Simulink优化设计
  15. win 10 把秘钥清掉之后查不到秘钥怎么办
  16. 学习大数据需要什么语言基础
  17. 电脑安装破解软件跟杀毒软件冲突怎么办
  18. 学习廖雪峰Git入门教程--总结
  19. 什么叫「人的格局」?是否有必要培…
  20. 45-pytest-pytest.main()使用

热门文章

  1. 使用python批量修改文件名
  2. inception retrain 实现
  3. MIT CMS.300 Session 7 – Catch Up Class:AGENCY/NARRATIVE Agency与游戏叙事
  4. 清除Android Studio所有设置,恢复到初始
  5. Android开发基础知识概览
  6. 树和森林,各种树之间的转化
  7. android:为你的app设置音效
  8. TCP拥塞控制图解(不包括RTO,因为它太简单了)
  9. 健身行业迎来全新洗牌,智能健身风暴席卷全国
  10. FA-关于固定资产的使用年限发生变化的处理