大家可能都看到了“API”的出现。操作系统、网络浏览器和应用程序更新通常会为开发者提供新的API。那么什么是API,开发者如何利用它们呢?
什么是API?

API是一种允许两个软件组件使用一组定义和协议相互通信的机制。
API代表什么?
API代表应用程序编程接口。在API环境中,应用一词是指任何具有独特功能的软件。接口可以被视为两个应用程序之间的服务契约。该契约定义了两者如何使用请求和响应相互通信。他们的API文档包括关于开发人员如何构建这些请求和响应的信息。
API的工作原理是什么?
架构通常从客户端和服务器端的角度来解释。发出请求的应用程序称为客户端,做出响应的应用程序称为服务器。以手机上的天气应用为例。气象局的天气数据库是服务器,手机应用是客户端。
API的类型

现在大部分的应用编程接口都是通过互联网公开应用数据和功能的Web API。以下是四种主要类型的网络API:
Open API是一个开源的应用程序编程接口,可以使用HTTP协议进行访问。也称为公共API,它们定义API端点以及请求和响应格式。
Partner API是一个向战略业务合作伙伴公开或由战略业务合作伙伴公开的应用程序编程接口。通常,开发人员可以通过公共API开发人员门户以自助服务模式访问这些API。但是,他们仍然需要完成加载过程并获得登录凭证来访问合作伙伴API。
内部API是对外部用户隐藏的应用程序编程接口。这些私有API并不适合公司外部的用户,而是为了提高工作效率和内部不同开发团队之间的沟通。
复合API组合了多个数据或服务API。这些服务允许开发人员在一次调用中访问多个端点。复合API在微服务架构中非常有用,在这种架构中,可能需要来自多个来源的信息来执行一项任务。

让API开发人员的生活更轻松
假设我们想为iPhone开发一个应用程序。苹果的iOS操作系统提供了大量的API,就像所有其他操作系统一样,让开发者更容易做到这一点。
如果我们想从iPhone的相机中拍摄照片或视频,那么自己编写相机接口当然是不可能的。我们可以使用camera API将iPhone的内置摄像头嵌入到自己的应用中。如果没有API来简化这个过程,应用程序开发人员将不得不创建自己的相机软件并解释相机硬件的输入。
但是苹果的操作系统开发者已经完成了所有这些底层工作,所以开发者可以使用camera API嵌入相机,然后继续构建他们的应用。而且,当苹果改进相机API时,所有依赖它的应用都会自动改进。
同样,其他平台也有同样的操作。比如想在Windows上创建一个对话框?有一个API可以做到这一点。想在Android上支持指纹认证?还有专门的API,不用测试每个不同安卓厂商的指纹传感器。开发者不用一遍又一遍的造轮子。


