什么是 API ?
一、API 的定义:数据共享模式定义 4 大种类
作为互联网从业人员,API 这个词我耳朵都听起茧子了,那么 API 究竟是什么呢?
API 即应用程序接口(API:Application Program Interface),应用程序接口是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信。
根据不同软件应用程序间的数据共享性能,可以将 API 分为四种类型:
远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。
标准查询语言(SQL):是标准的访问数据的查询语言,通过数据库实现应用程序间的数据共享。
文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。
信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。

二、API 使用场景:互联网时代,API 无处不在
在生活中,我们无时无刻都在使用 API,包含你打开的网页的同时,甚至触发了几百上千个 API,查询数据,系统之间交互,文件传输等等,API 都发挥了至关重要的作用。
2.1 SQL 查询
小 A :我写了一个 SQL,查询到数据库里的数据。
从全世界找到你
select * from the_world where someone like 'you';
查询结果
A very big pig
2.2 数据传输
小 B :我打开一个 web 网页,页面的前端通过 https 接口获取到后端数据(拿到获取数据的 url 后,搞爬虫的小伙伴常用来下载数据)

三、开放 API(OpenAPI):开放双赢
一般来说,内部 API 是非常机密的信息。但有时候,网站的服务商需要将自己的网站服务封装成一系列 API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用。

如图所示,开放 API 主要分为 5 大类:
电信类
地图类
电商类
SNS 类
微博类
从而吸引一些第三方的开发人员在该平台上开发商业应用,平台提供商可以获得更多的流量与市场份额,第三方开发者不需要庞大的硬件与技术投资就可以轻松快捷的创业,从而达到双赢的目的。
开放 API 是大平台发展、共享的途径,让开发者开发一个有价值应用,付出的成本更少,成功的机会更多。
四、API 的痛点和解决方案
API 固然很强大,但在使用过程中,也存在许许多多的难题。
要分析 API 的痛点,不得不提到使用 API 的各个项目角色,通过以下的工作流程图,可以看到不同项目角色是如何参与到与 API 相关的研发工作中的。

后端工程师:约定接口、开发 API、编写文档、单元测试
前端工程师:约定接口、页面开发、Mock API、前后联调
技术管理者:技术评审、工期评估、管理文档
测试工程师:自动化测试 API、缺陷分析、问题反馈、输出测试报告
API 无处不在,无处不用,如果没有有效的 API 管理协作模式,不仅影响项目进度,大大增加开发成本,甚至出现被逼离职的尴尬境地!!!
在此,我总结了工作使用 API 的 5 个主要痛点。

五、小结
API ——连接世界的 super start!
互联网时代, API 无处不在,无处不用。
如何管理和使用 API,也成了研发、测试和项目管理者小白变大佬的必修课,希望本期的 API 科普和管理方法分享能帮到大家。
什么是 API ?的更多相关文章
- 干货来袭-整套完整安全的API接口解决方案
在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...
- 12306官方火车票Api接口
2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...
- 几个有趣的WEB设备API(二)
浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- JavaScript 对数据处理的5个API
JavaScript对数据处理包括向上取整.向下取整.四舍五入.固定精度和固定长度5种方式,分别对应ceil,floor,round,toFixed,toPrecision等5个API,本文将对这5个 ...
- ES5对Array增强的9个API
为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...
- javascript的api设计原则
前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...
- 一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino
大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说 ...
- 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...
随机推荐
- I2S 总线学习:1-有关概念
背景 I2S总线 是一种常见的总线,也是需要掌握的. 概念 I2S(Inter-IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准, ...
- debian12 笔记
前言 最近在win10通过wsl安装了debian linux子系统(wsl2安装报错了..所以改成了wsl),没想到安装的还是最新的debian12 (Bookworm).的确和ubuntu有些不一 ...
- Java 面向对象编程之InstanceOf关键词和多态
InstanceOf关键字使用,什么是多态 InstanceOf关键字 是Java的一个二元操作符(运算符),也是Java的保留关键字 语法 //如果该object 是该class的⼀个实例,那⼀个实 ...
- .NET 9 预览版 5 发布
微软在6月发布了.NET 9预览版的第五个版本.这个新版本的框架预计将在今年晚些时候正式发布,它是一个标准支持(STS)版本,将在2024年11月12日至2026年5月12日期间在多个操作系统上获得1 ...
- 动手学深度学习——CNN应用demo
CNN应用demo CNN实现简单的手写数字识别 import torch import torch.nn.functional as F from torchvision import datase ...
- 4 安卓h5分享功能未实现
安卓h5点击分享没有复制链接到剪切板
- UE4 蓝图查找Actor和Actor标签
在用UE4 开发数字孪生应用的过程中,有很多业务会涉及到actor的查找,和actor标签的使用. 比如下面的场景中,找出所有的物联网设备进行标注. 通过类查找actor 通过类查找actor,可以查 ...
- [oeasy]python0094_视频游戏_双人网球_pong_atari_mos_6502_雅达利_米洛华
编码进化 回忆上次内容 上次 我们回顾了 微软之前的 比尔盖茨和保罗艾伦 mits 迎来的 是帮手 还是隐患? intel-8080 遇到了 mos-6502 底层硬件 驱动 游戏行业进化 不光是扑克 ...
- [oeasy]python0041_ 转义字符_转义序列_escape_序列_sequence
转义序列 回忆上次内容 上次回顾了5bit-Baudot博多码的来历 从 莫尔斯码 到 博多码 原来 人 来 收发电报 现在 机器 来 收发电报 输入方式 从 电键 改成 键盘 输出方式 从 纸带 变 ...
- linux性能资源分析工具
linux性能资源分析工具 1,top 2,ps 3,uptime 4,mpstat 5,pidstat 6,vmstat 7,iostat 8,netstat 9,lsof 10,sar / nmo ...