用一个通俗的例子讲清楚API

2,535 阅读5分钟

随着移动互联网的发展, 基于互联网的应用正变得越来越普及,在这个过程中,更多的平台将自身的资源开放给开发者来调用。对外提供的API 调用使得平台之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。

那么API究竟是何方神圣?首先我们在百度百科查询到的解释是:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

听起来在理解上还是有些困惑,如何通俗理解什么是API?当我们在智能移动端使用应用程序时,应用程序通过网络将数据发送到服务器,然后服务器会检索分析数据,执行特定的操作并将其重新发送回你的手机。最后应用程序解析完这些数据,并以“可读的方式”向你提供所需的信息,要完成这一系列过程,API就是关键。

我们可以再举一个大家熟悉的例子来进一步解释API。想象这样一个场景,当你来到一家餐馆,拿起菜单进行点餐时,首先看到的时菜单上罗列的众多菜品信息,厨房将是你点餐“系统”的一部分,但其中的关键环节是如何将点菜的信息传达至厨房,并将食物送到餐桌上,这个时候服务员就起到作用了,服务员就是一个信使(API),他接收你的点菜信息,并告诉厨房(系统)该做什么,在这种情况下, 服务员以“食物”作为信息反馈。

为了进一步加深大家对API的理解,我们再列一个实际的API示例,在线搜索航班的过程就像在餐馆点餐一样,其中也有很多种选择,包括城市,往返航班时间等。假设你正在预订航空公司网站上的航班,你可以选择往返出发的城市和时间、客舱等级以及其他服务。为了准确预订航班,你可以预览查询航空公司网站,访问他们的数据库,看一看在你出发的时间是否有空位,以及航行费用等信息。

不过,如果你不想用使用航空公司的网站,还有没有其他可以直接访问航空信息的渠道呢?那么比如像Kayak、Expedia等在线旅行服务平台就成为获取航班信息的另一种渠道,因为这些平台整合了来自多个航空公司数据库的信息,你想要获取的信息将会更加全面,这其中的逻辑又是怎样的呢?

其实在上面的示例中,旅游服务平台与航空公司网站的API是相联系的。API就是一个接口,与餐馆的服务员作用一样,另外,在线旅游服务平台可以要求从航空公司网站的数据库中调取航班信息,以便用户预订座位、行李选项等。API在获取航空公司网站对用户请求的反馈之后,就会将相关信息发送回在线旅游服务平台,最终在线旅游服务平台上显示的信息就是用户所需要的最新航班信息。

不仅如此,API还提供了一层安全性。我们在使用手机的过程中,手机的数据在没有授权的情况下,是不会暴露给其他服务器的,同样道理,服务器也从来不会轻易将数据提供给你的手机。相反,每个系统都只与小的数据包相联系,并且只共享必要的数据——比如我们在线订购外卖,我们首先会告诉店家想吃什么,他们也会告诉我们用什么作为回报,完成这些,才能得到想要的外卖。

当前,API的价值已经越来越重要,除了像谷歌、eBay、Salesforce.com、Amazon及Expedia这样的大公司是少数通过API赚钱。绝大多数公司的大部分业务收入来源于API,所以也就有了“API经济”,其中指的就是API市场。

很不过多年以来,“API”通常描述的是应用程序的任何类型的通用连接接口。然而,随着技术的发展和市场的需求增大,现代API具有的一些特性,使其价值和实用性变得越来越高:

•现代API遵循标准(通常是HTTP和REST),这些标准对开发人员友好,易于访问和广泛理解;

•API被视为产品而不是代码。它们是为特定的受众(例如,移动开发人员)而设计的,它们被记录下来,并且以用户可以对其维护和生命周期有特定期望的方式进行版本控制;

•因为它们更加标准化,所以在安全性和管理方面有更强的规范性,并对性能和规模进行监视和管理;

•与其他任何产品化软件一样,现代API具有自己的软件开发生命周期(SDLC),包括设计、测试、构建、管理和版本控制。此外,现代API的使用和版本控制都有很好的文档。

当前,越来越多的企业会选择利用 API,将公司生态系统中的优质合作伙伴汇聚在一起,并重新挖掘隐藏在背后的巨大经济价值,所以,“API经济”也已经成为各大企业数字化发展的必经之路,IDC曾在2018年的报告当中将API经济作为全球第二的技术趋势,显示在接下来的三年里,亚太地区(不含日本)45% 的组织将会采用核心云API战略,因此,以API为核心驱动的新经济亟待爆发。