前序系列文章>>>

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

我们系列文章,都会围绕如何完成一款智能“隔空接吻机”的开发。希望能帮到各异地恋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. golang 语言的特性

    给函数传递参数的时候 map.slice.channel是按引用传递的 同一个变量不能用 := 这种方式创建并赋值两次. 一个包(package)的func .结构体类型变量如果要被外部的包调用.fu ...

  2. 《Kafka笔记》1、Kafka初识

    目录 一.初识Kafka 1 apache kafka简介 2 消息中间件kafka的使用场景 2.1 订阅与发布队列 2.2 流处理 3 kafka对数据的管理形式 4 kafka基础架构 5 Ka ...

  3. linux 压缩命令 zip

    1.zip命令 例如:zip -r mysql.zip mysql 该句命令的含义是:将mysql文件夹压缩成mysql.zip zip -r abcdef.zip abc def.txt 这句命令的 ...

  4. minianaconda3安装

    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod +x Miniconda3-lates ...

  5. 51node1256 乘法匿元(扩展欧几里得)

    #include<iostream> using namespace std; int gcd(int a,int b,int &x,int &y){ if (b==0){ ...

  6. SELECT INTO与INSERT INTO SELECT用法

    SELECT INTO SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中: -- 创建 Websites 的备份,这种写法没走索引导致全表扫描 SELECT * INTO W ...

  7. 简单又强大的pandas爬虫 利用pandas库的read_html()方法爬取网页表格型数据

    文章目录 一.简介 二.原理 三.爬取实战 实例1 实例2 一.简介 一般的爬虫套路无非是发送请求.获取响应.解析网页.提取数据.保存数据等步骤.构造请求主要用到requests库,定位提取数据用的比 ...

  8. 理解import声明 与 export声明

    import的两种使用方法 import "mod"; // 引入一个模块 import v from "mod"; // 把模块默认的导出值放入变量 v im ...

  9. Redis学习笔记(六)——数据结构之Set

    一.介绍 Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis中集合是通过哈希表实现的,所以添加.删除.查找的复杂度都是O(1). 集合中 ...

  10. 【转】Setting up SDL 2 on Code::Blocks 12.11

    FROM: http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/codeblocks/index.php Setting up SDL 2 on ...