API-First 的商业价值

比特星燧使
• 阅读 467
我们生活在 API 经济中。这就是它为您服务的方式。

2015 年开始,“API”一词逐渐破圈,Gartner 也宣告了“API 经济”的到来。现在“API-First”被很多人挂在嘴边,但其实大部分人并不完全清楚它的含义。

本质上,API-First 体系架构是一种软件设计的方法,它以 API 为中心,创建可以轻松互连的应用程序。API-First 开发出来的应用程序生态像乐高积木一样模块化、可重用、可扩展。如果你不是开发者的话并不需要掌握太多技术要点,但你一定需要了解 API-First 对你的业务带来的影响。

什么是 API-First?

要了解 API-First ,首先需要知道什么是 API 。

API 是应用程序接口(Application Programming Interface)的缩写。它是一段充当两个异构软件间的过渡代码。API 作为双方的中介或翻译,来回传递请求(request)和响应(response),同时仅公开完成数据处理所需的代码。
API-First 的商业价值

拿就餐举例,你向服务员说:「我要一块鸡排」,服务员会向厨房传递这个信息,你不用操心「鸡排是怎么做的」,十分钟后你就可以吃到鸡排。

在这个例子中,你是某个软件的用户,服务员是 API,厨房是软件的服务器。

社交登录是 API 的常见例子。当软件实施了社交登录后,用户只需单击一下按钮即可通过身份提供商进行身份验证,例如「使用微信登录」、「使用 QQ 登录」。在微信登录中,是腾讯向开发者提供了 API 以帮助用户使用微信身份登录到开发者的应用。
API-First 的商业价值

API-First 的开发

API-First 的方法意味着将 API 视为应用程序的最重要的“用户”。乍一看这句话好像很奇怪,但鉴于 API 在应用程序之间进行通信时所做的关键工作,这又很直观。

在传统的开发过程中,开发者设计应用程序的功能,在最后做一下 API。如果你的应用程序的结构没有使 API 易于访问数据的方式,那么这种以代码为先的方法可能会出现问题。
在 API 优先设计中,你的开发团队将在其余应用程序之前进行 API 设计。正如开发人员 Joyce Lin 在“ 更好的做法 ”中写道:“通过将新功能作为独立服务(可通过 API 访问)进行介绍,该应用程序的其余部分可以与任何其他未来应用程序结合在一起。” 为此,任何成功的API优先策略都取决于创建所有团队都可以使用的出色 API 文档。这样可以提供更好的开发人员体验,并确保 API 的设计被视为公司的宝贵资产。

在基于云的互连世界中,轻松地将不同的应用程序和功能组合在一起的能力是至关重要的,在这种世界中,很少有业务流程是独立工作的,并且用户需要跨所有平台和设备的丰富体验。

API-First 方法如何影响您的业务

API-First 体系结构对业务的影响并不直观,这主要还是因为 API 的设计要尽量做到无感知。但是,专注于 API 可以改善客户体验、降低开发成本以及提供更好,更具创新性的产品的形式。

加快上线时间

API 是模块化的且可复用的,因此 API-First 的体系结构可加快开发过程。您的内部团队不必从头开始编写所有功能,也不必尝试集成两个根本不同的应用程序。取而代之的是,它们从整合开始,然后从那里开始。API 帮助促进微服务的使用,微服务是可以插入任何应用程序的独立功能。

一旦构建或购买了新的 API,您的前端和后端团队就可以同时在应用程序的各自部分上工作,而不必彼此等待。这是因为这些功能不必全部相互构建。他们只需要插入相同的 API。
对大多数公司来说,加快产品上市时间是一项巨大的竞争优势,因此节省开发时间就意味着巨大的财务回报。无论您的团队是在构建 API 还是购买第三方 API,这都是正确的。例如,企业通过购买 Authing 的 API 比他们尝试在内部编写自己的身份解决方案节省数人月的工作量。

改善客户体验

当开发人员想要在移动设备上创建功能齐全的用户界面时,API-First 的开发开始受到关注。基于用户对丰富,全平台体验的需求,API 优先和移动优先是相互联系的设计原则。
API 通过减少社交登录来改善用户体验,API 无缝连接各种工具,从而带来令人愉悦的用户体验。

正如 Segment 在宣布向 API-First 转型时所说的,“在网络世界中,客户体验是唯一真正的竞争优势。”

更具适应性的创新产品

API-First 的体系结构使开发人员可以更高效地上线新功能,而且可以让外部应用程序更容易的嵌入进来。HBR 报告说,当 Walgreens 向第三方API 开放其照片打印服务(允许客户从手机或社交媒体帐户打印照片)时,线上客户的平均收入比线下用户多了六倍。
API-First 的商业价值

API-First 公司的成功故事

在这一代技术中,许多成功的 SaaS 公司都是 API-First 公司。借助 API-First 的平台,Stripe,Auth0 和Segment 的估值均已超过 10 亿美元。

对于这些公司来说,API 本身就是产品。以 API-First 运动的早期领导者 Twilio 为例。Twilio 的产品是将电话功能集成到 Uber 之类的应用程序中的 API,众所周知,对于许多开发人员而言,这是一个噩梦般的挑战。然后 Twilio 的首席执行官 Jeff Lawson 向投资者宣传,他说:“我们已经将整个混乱而复杂的电话世界变成了五个 API。”

引用 ReadMe 博客的话:“对于一家无法依靠自己开发软件的科技初创公司而言,外包小型功能的能力改变了游戏规则。像 GroupMe,Lyft 和 Shopify 之类的公司之所以能够起飞,是因为它们不再具有巨大的技术障碍,可以很轻松的制作出他们期望的产品形态”。
当然,Authing 身份云就是一家 API-First 的另一个优秀案例。与任何身份即服务(IDaaS)平台一样,当您购买 Authing 时,您也在购买调用 Authing API 的权限,这有助于登录用户与保存有关它们的信息的数据库之间的数据交换。

无论你的公司阶段如何,你都可以尝试 API-First

如果您在想:“哇,我已经接受了 API-First 的整个开发理念,但我没有精力重构所有系统,”您可以放心。过渡到 API-First 方法不需要重构现有的应用程序。这仅意味着用不同的心态去拥抱未来。

正如麦肯锡(McKinsey)在其关于 API 的报告中指出的那样,“价值并不需要来自创造新事物。企业还可以使用API来改善功能或向现有产品和服务添加新功能。”

API-First 设计的优点在于,它允许开发人员进行游戏和试验(通常使用开源软件),因此您可以了解哪些API将提供最大的投资回报。

关于 Authing

Authing 是国内首款全场景身份云产品,集成了所有主流身份认证协议,为企业和开发者提供完善安全的用户认证和访问管理服务。Authing 被中国信息通信研究院评选为「国内身份管理与访问控制领域创新企业」,并被录入《2019 网络安全产业白皮书》。Authing 已经为中国石油、亚马逊云服务、埃森哲、德高集团、东南大学、高等教育出版社等国内外优秀企业打造了卓越的开发方式、高效的办公流程和安全的 IT 管理体系。

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Karen110 Karen110
4年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
3年前
Prometheus监控学习笔记之PromQL简单示例
0x00简单的时间序列选择返回度量指标http_requests_total的所有时间序列样本数据:http_requests_total返回度量指标名称为http_requests_total,标签分别是job"apiserver",handler"/api/comments"
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这