前序系列文章>>>

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

我们系列文章,都会围绕如何完成一款智能“隔空接吻机”的开发。希望能帮到各异地恋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. 如何给LG gram写一个Linux下的驱动?

    其实就是实现一下几个Fn键的功能,没有标题吹得那么牛. 不知道为啥,LG gram这本子意外的小众. 就因为这个,装Linux遇到的硬件问题就没法在网上直接搜到解决办法了. Fn + F9 实现阅读模 ...

  2. windows 快速安装Python3.7.2

    1.官方下载地址:https://www.python.org/downloads/release/python-372/ 其他地址:http://www.uzzf.com/soft/449550.h ...

  3. centos8平台使用pidstat监控cpu/内存/io

    一,安装pidstat: 1,安装 [root@localhost yum.repos.d]# yum install sysstat 2,查看版本: [root@localhost ~]# pids ...

  4. Navigator 的使用方法

    对象属性 属性 Navigator 说明 appCodeName 返回浏览器的代码名 appName 返回浏览器的名称 appVersion 返回浏览器的平台和版本信息 cookieEnabled 返 ...

  5. c++ 获取文件创建时间、修改时间、访问时间、文件内容长度

    int GetFileInfo(string& strPath, int& iCreateTime, int& iModifyTime, int& iAccessTim ...

  6. win10+ubuntu18.04lts双系统安装葵花宝典(解疑篇)

    本文将对win10+ubuntu18.04lts双系统安装过程中的一些操作的目的和可能遇到的问题进行解释. 文章目录 如何正确分区 创建双系统后直接进入了windows怎么办 修改ubuntu开机界面 ...

  7. 2017年暑假ACM集训日志

    20170710: hdu1074,hdu1087,hdu1114,hdu1159,hdu1160,hdu1171,hdu1176,hdu1010,hdu1203 20170711: hdu1231, ...

  8. JDK新特性——Stream代码简洁之道的详细用法

    一.概述 Stream 是一组用来处理数组.集合的API,Stream API 提供了一种高效且易于使用的处理数据的方式. Java 8 中之所以费这么大的功夫引入 函数式编程 ,原因有两个: 代码简 ...

  9. 关于隐私保护的英文论文的阅读—— How to read English thesis

    首先 开始我读论文时 也是恨不得吃透每个单词 但是后来转念一想 没必要每个单词都弄懂 因为 一些程度副词 修饰性的形容词等 这些只能增强语气罢了 对文章主题的理解并没有天大的帮助 而读文章应该首先把握 ...

  10. CentOS7 Nginx-1.10.3编译安装

    cat > nginx.sh <<EOF #停止apache,避免抢占端口号 systemctl stop httpd #创建nginx运行账户,非登录用户,不创建家目录 usera ...