前序系列文章>>>

【涂鸦物联网足迹】物联网主流通信方式

我们系列文章,都会围绕如何完成一款智能“隔空接吻机”的开发。希望能帮到各异地恋or异国恋的情侣们!

本文我们会大概讲解API及SDK的定义介绍吧~

一、API:Application Programming Interface,应用程序编程接口

先来个国(ke)际(yi)惯(tiao)例(guo)的百科介绍:

API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。

我们通过几个例子来说明一下吧:

举例A:

就Howard的“隔空接吻机”原型而言,假设我们把APP端交给供应商来做,那么供应商如果想要拿到设备里的数据,就需要我们提供一个API,让供应商能够在不需要了解设备的构造而直接访问。粉色框框部分就是API~

举例B:

举一个生活中的例子吧。你的男/女朋友给你买了一杯奶茶(这里推荐杨枝甘露,超好喝),那么你为了喝到里面的的饮料(虽然你不知道里面到底有什么),可以用过一根吸管去喝到。这根吸管就是API。

举例C:

想象一下,你在家要烧水。那么你的烧水步骤如下:

水壶装满水;

插上插头

按烧水开关

等水烧好。

在上面这个过程中,API即使你家的插口,只要你用水壶的插头插上这个插口,就可以使用发电站提供的电了(如有错误,请指教)。

OK,通过上面三个例子,我猜大家对API应该有了一定的了解了。API的应用在生活中处处可见,欢迎大家在本文下面多举几个例子。

那么在物联网中,接下来,我们来介绍一下SDK

二、SDK:Software Development Kit,软件开发工具包

 国(ke)际(yi)惯(tiao)例(guo):

软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。

我们再来举例说明一下。

举例A:

   假设我们“隔空接吻机”已经有了一个App。App里为了获取用户的位置信息,内置了某地图的应用,那么情侣们每次打开APP的时候,会有以下3个流程:

情侣A打开“隔空接吻机”App;

“隔空接吻机”App唤醒内置的地图应用;

地图应用反馈用户所在的地理位置信息;

情侣双方能够看到对方的地理位置。

在以上过程中,“隔空接吻机”App里内置的地图应用,即我们所说的SDK。

SDK 还是很好理解的,我们就不举那么多例子来说明啦。如果大家有更通俗易懂的例子,可以在下方留言~

三、API和SDK的关系

API和SDK,在一个端到端开发中,有着非常重要的地位。同样,我们来通过一个例子来说明一下他们的关系吧~

这次我们就不用我们的“接吻机”来举例了,以“乐高”为例吧:

API:乐高积木的“颗粒”(用来连接两个乐高积木);

SDK:一大包乐高积木,里面有各种小工具

通过API和SDK,就能够完成一个完整的乐高!

希望通过这篇文章,能够让大家对API和SDK有个简单粗暴地了解!

【涂鸦物联网足迹】API及SDK介绍的更多相关文章

  1. 【涂鸦物联网足迹】涂鸦云平台消息服务—顺带Pulsar简单介绍

    前序系列文章>>> [涂鸦物联网足迹]涂鸦云平台标准指令集 开放消息平台主要通过 Pulsar 主动推送各种事件数据给外部合作伙伴,以满足合作伙伴对消息实时性和消息持久化的要求. 一 ...

  2. 【涂鸦物联网足迹】用煲仔饭来说明IaaS/PaaS/SaaS的区别

    最近在准备一些科普性的知识内容,发现大家对于一些基础性的知识概念还是有点模糊.今天先来简单介绍一下IaaS/PaaS/SaaS的区别~ 其实还有一个On-Premises(本地部署)的概念,也可以一并 ...

  3. 云之讯融合通讯开放平台_提供融合语音,短信,VoIP,视频和IM等通讯API及SDK。

    云之讯融合通讯开放平台_提供融合语音,短信,VoIP,视频和IM等通讯API及SDK. undefined 全明星之极验证 - SendCloud undefined [转载]国内外几个主流的在线开发 ...

  4. 李洪强iOS开发之-环信02_iOS SDK 介绍及导入

    李洪强iOS开发之-环信02_iOS SDK 介绍及导入 iOS SDK 介绍及导入 iOS SDK 介绍 环信 SDK 为用户开发 IM 相关的应用提供的一套完善的开发框架.包括以下几个部分: SD ...

  5. 开源.Net Standard版华为物联网北向接口SDK

    最近用到了华为的物联网平台API,但是官方没有.Net版的SDK,所以就自己封装了一个,开源出来给有需要的朋友,同时也算是为.Net Core的发展做点小贡献~ 源码地址:https://github ...

  6. ASP.NET Web API 路由对象介绍

    ASP.NET Web API 路由对象介绍 前言 在ASP.NET.ASP.NET MVC和ASP.NET Web API这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了 ...

  7. ASP.NET Web API 开篇示例介绍

    ASP.NET Web API 开篇示例介绍 ASP.NET Web API 对于我这个初学者来说ASP.NET Web API这个框架很陌生又熟悉着. 陌生的是ASP.NET Web API是一个全 ...

  8. ar技术序章-SDK介绍和选择

    转自: http://blog.csdn.net/kun1234567/article/details/10402535 ar技术序章-SDK介绍和选择 分类: Augmented Reality20 ...

  9. API 与 SDK

    API 和SDK是软件行业的两个缩写词. API (Application Programming Interface)=应用程序编程接口 通过一套套的要求,用来管理应用程序之间的沟通.一个API相当 ...

随机推荐

  1. S3C6410 LCD驱动分析(转)

    一. 理论分析1. 几个概念:FIMC :    Fully Interactive Mobile Camera (完全交互式移动摄像机)FIMD:     Fully Interactive Mob ...

  2. 多测师_git和github_004

    git Git(读音为/gɪt/.),是目前世界上最先进的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Linux 内核 ...

  3. 多测师讲解rf _基本使用002_高级讲师肖sir

      在你安装好RF-ride之后,桌面就会生成一个RIDE图标.双击启动,界面如下:  

  4. 智能指针(1)-std::unique_ptr

    std::unique_ptr std::unique_ptr是一种几乎和原始指针一样高效的智能指针,对所管理的指针资源拥有独占权.由C++11标准引入,用于替代C++98中过时的std::auto_ ...

  5. linux(centos8):为prometheus安装grafana(grafana-7.0.3)

    一,grafana的用途 1,grafana是什么? grafana 是用 go 语言编写的开源应用, 它的主要用途是大规模指标数据的可视化展现 它是现在网络架构/应用分析中最流行的时序数据展示工具 ...

  6. nginx安全:用limit_req_zone/limit_req限制连接速率(流量控制/限流)

    一,limit_req的用途: 1,官方文档地址: http://nginx.org/en/docs/http/ngx_http_limit_req_module.html 2,用途: 限制用户在给定 ...

  7. nginx安全:修改对外的服务软件名称并隐藏版本号(nginx1.18.0)

    一,为什么要隐藏nginx真实的软件名称? 1,nginx响应的Server头部都会携带上服务软件的名字和版本信息, 服务器软件的版本信息暴光在外部,很容易被黑客了解到,就通过相应版本的漏洞来攻击服务 ...

  8. xpath取其中几个使用position

    from lxml import etree html = ''' <!DOCTYPE html> <html lang="en"> <head> ...

  9. ThreeJS学习6_几何体相关(BufferGeometry)

    ThreeJS学习6_几何体相关(BufferGeometry) 使用 BufferGeometry 可以有效减少向 GPU 传输几何体相关数据所需的开销 可以自定义顶点位置, 面片索引, 法向量, ...

  10. Helium文档5-WebUI自动化-press模拟键盘按键输入技巧

    前言 press方法是用来模拟键盘按键输入,可以组合使用,来模拟键盘输入,解决一些难定位的元素 入参介绍 以下是press源码中的函数介绍 def press(key):  :入参 :param ke ...