对于搞软件开发的小伙伴来说,API是经常口中提到的熟悉事物。随着数字化转型这件事变得越来越时髦,很多“奋战”在业务一线的,非IT背景的人们也开始或多或少接触到API,于是API这个概念也就从“开发圈”内慢慢传播开,逐渐被更多人熟知了解。
某些已经开发出来的软件平台,可以把一些自身常用的、关键的功能模块“开放”给其他软件系统使用,共享其算法或数据,为其提供所需的信息技术能力。既然软件功能模块需要被“开放”对外,就得有一个能够被访问到的“门”,而这个“门”就是API。
API的英文全称是Application Programming Interface,翻译成中文的意思就是“应用程序接口”。从名字上可以看出,API本质是一个接口,那么什么又是接口呢?接口其实就是上面说的“门”的意思,技术能力就是通过这个“门”来访问获得。
例如,我经营的电商平台需要知道某个用户感兴趣的热点话题,并根据其感兴趣的话题向这个用户定制化地推荐商品。于是,我就把电商平台连接到了“xx头条”平台的“用户兴趣分析API”,从这个API中,我可以自动获得这个用户感兴趣话题信息的数据,来完成向用户进行精准商品推荐的功能需求。国内电商跨境电商API接口
有了API,软件的技术能力就可以被重复使用了,这也是API最核心的意义和魅力所在。
首先,在一个软件中,很多地方的功能是重复的,这个软件功能其实只需要开发一次,下次再用到这个功能的时候,只要调用API就可以了,不用再多余开发一次。
其次,API可以让更多的外部应用系统享受到有应用价值的技术福利,这主要是体现在企业与企业之间的合作,让企业在技术能力上面进行贸易,互通有无。
API其实主要包括两种类型,一种是技术型API,向外输出提供算法能力,比如机器翻译、图像识别、语音识别等等,另一种是数据型,提供数据支撑,打通业务环节,比如提供用户画像标签、提供广告推送服务等等。
一般在指定API租用协议的时候,对于技术型API,通常会采用按照时间周期的原则或者一次性买断的方式来计费;而对于数据型API,则主要考虑按照数据查询访问的次数来计费。 别着急,让我们先看一个小小的比方。
一个小比方
有一天,小明来到了一家餐厅,想要吃上一份他最爱的北京烤鸭。
而他只需要把订单交给服务员,然后就可以等着大口吃肉,大碗喝酒了。
看完这个比喻,小白同学又发话了:等等,你小明吃北京烤鸭关我API什么事?
别急,让我们把这等价关系捋一捋。
小明 = 使用者
北京烤鸭 = 服务
厨房 = 后台系统/数据库
服务员 = API
小明把想要的北京烤鸭告诉服务员,服务员就能去厨房把这道菜送来。作为顾客他不需要知道这道菜是怎么做的,他只需要安心享用美味即可。代入等价关系。
使用者向API索取想要的服务,API就能去后台把服务结果返回给使用者。
作为使用者他不需要知道服务是如何实现的,他只需要安心使用服务结果即可。
所以啊,API就是一个负责将后台服务提供给使用者的服务员。
看完了比方,接下来让我们看看现实生活中的哪些东西是API。
现实生活中的API
不只是程序员会经常使用到API,现代社会中,几乎每个人都无时不刻不在享受API带来的便利。
当你想在电商平台购买一双鞋时,你在尺码框里勾选了码数后,系统就会告知你还剩多少库存。尺码框这个服务员偷偷将你的码数报给了后台,再把后台那里得来的消息告诉你,所以这个尺码框就是一个API。
同样,当你在预定一张机票时,你在信息栏中填入了相应的个人信息,提交完后很快就出票了,并且航空公司的数据库里也同时产生了相应的订单。这些有着信息栏模样的服务员也是API,它们带着你的个人信息去后台帮你买好了票再拿回来给你。
此外还有,别人写好的函数,编译好的程序,一些公司提供的AI接口等都是API。因为你只需要调用它,便可以得到计算结果,无需知道具体实现过程。
看完以上现实生活中的例子,让我们用稍微专业点的话来概括一下API:API是对接使用者和后台服务的程序接口。
所以如果有这么一个程序或函数等,可以对接你和后台服务的,那么我们就可以称其为API。
小白同学: 接口这个概念我不是很明白啊,你能不能解释一下?
所谓接口,就是负责对接的。就像服务员是对接顾客和后厨的,而程序接口就是负责对接使用者和后台系统的。
小白同学:我在网上看到有一个概念叫“API文档”,这又是什么东西啊?
很简单,API文档就是用来介绍API的,即它能告诉你该API的返回结果,以及如何调用等。
总结
API是对接使用者和后台服务的程序接口。本文利用比方通俗易懂地解释了API这个概念,并介绍了API存在于实际生活中的哪些地方。