Application Programming Interface
或 API
是计算机界常用的术语。API是一个访问不同计算、软件、库函数的接口。API定义并创建不同的访问类型、函数、参数和选项来访问和使用资源或软件。
什么是API(应用程序编程接口)?
API向其他实体公开不同的资源,如软件、库、系统或对象,这些实体通常也是软件。虽然没有API标准或用法的规范,但多年来一些通用规则被接受。API也确保了不同计算或软件实体之间的互操作性。随着软件使用量的增加,现在有很多不同的库,提供API的系统。大多数流行的软件如操作系统、web服务、桌面应用程序、虚拟化软件等都提供了API。
API用法和类型
API由具有不同特性、访问类型和使用类型的不同实体提供。下面我们列出了一些API类型的使用示例。
库和框架API
库和框架是API最流行的用例。为了使用库和框架,默认情况下使用API。API使得使用库和框架非常灵活,因为它将用户界面从实际实现中分离出来。实现通常是非常复杂的,使用API使得实现非常简单和直接。
操作系统API
操作系统运行在计算硬件上,以便为用户级应用程序提供不同类型的资源。所有这些资源都是由操作系统通过标准化的api提供的。出于兼容性原因,操作系统提供了具有不同标准的API,如POSIX、Windows API等。POSIX主要用于Linux、BSD和Unix操作系统以及Windows系列操作系统使用的发行版和Windows API。
相关文章: 什么是XSD(XML模式定义)?
远程API
远程api通过低级方式提供对远程软件、库或应用程序功能和资源的访问。远程api通常用于调用远程系统的函数、方法或访问资源。Java远程方法调用是最流行的远程API之一。javarmi通过网络通过不同的计算机和主机提供对Java方法、函数、对象的远程访问。
Web API
Web API
通过使用HTTP或HTTPS协议和技术(如JSON、JavaScript、PHP、Python、XML、SOAP等)来访问远程功能。Web api被大量使用,以便通过网络或internet提供访问。许多流行的服务,如Twitter、Google、Facebook、Instagram,都提供了webapi来访问第三方软件或应用程序的服务。Rest是webapi最流行的子类型,它大量使用JSON进行通信。webapi可以被不同的平台、编程语言和webapi服务使用。
API发布策略
默认情况下,api以编程方式为每个人提供对资源的访问。但出于安全考虑,对api的访问应该受到限制。以下3个主要策略用于发布和访问API。
Private API Access
用于为公司或应用程序内部使用而创建的API。只有开发公司才能访问此API。
Partner API Access
是受限制的,可用于特定公司或企业。第三方访问是可用的,但仅限于合作伙伴。例如,Uber只允许其合作伙伴访问uberapi。
Public API Access
为每个人提供访问API的权限。API访问没有限制,但在某些情况下,可能需要使用某些用户身份验证。例如,MicrosoftWindowsAPI是公共的,每个操作系统用户都可以访问它。另外,twitterapi是一个公共API,用户需要对帐户进行用户身份验证。
相关文章: Python-JSON编码器和解码器教程及示例
API文档
api提供了对不同资源的访问,每个系统在不同的情况下是非常不同的。api的目标是简单的访问,但是为了正确使用,需要文档。API文档对于正确使用API和减少使用API所需的时间和精力是必不可少的。API文档提供了以下信息。
- 一般信息
- API体系结构
- API函数
- API函数示例
- 用例
- 代码段
API文档可以用不同的方法创建,但是一些编程语言和框架提供了实用的文档方法。Python提供了“Pydoc”机制,文档可以放在代码中。有关API的文档可以从源代码以干净和结构化的方式轻松生成。另外,Java编程语言提供了与Pydoc非常相似的Javadoc机制。
API优势
API的使用提供了很多优点。
- 轻松访问远程资源或功能
- 资源和功能的跨平台使用
- 减少资源和函数使用的错误和实现时间
- 快速资源和功能使用
- 更安全地使用远程资源和功能
谁创建API?
API在技术上是由开发人员创建的,但是从一般的角度来看,不同的组可以为他们的软件、库、产品或服务创建API。
- 大型科技公司
- 服务所有者
- 政府组织
- 软件初创公司
- 风扇组
- 个人
- 软件公司
- 体育社区
- 电子商务公司
API提供了什么?
API提供了对不同资源的轻松访问。API可以提供以下不同的资源。
- 登录操作
- 用户列表
- 产品清单
- 推文列表
- 删除推文操作
- 返回图像
- 提供歌词
- 提供网页部件或内容
- 提供最新的当前汇率
- 在云上启动虚拟机
- 付款
相关文章: 用实例说明终端的Curl Post数据
API技术
为了创建一个API,需要一些helper技术。这些API技术使得API的创建和使用更加快速和可靠。
JSON
是最流行的API技术和数据交换格式之一。JSON用于以易于读取和解析的格式交换数据。而且,所有流行的编程语言和框架都支持JSON格式。
SOAP
是另一种流行的数据交换格式,它比JSON更复杂。SOAP主要用于企业级的应用程序做数据格式和交换结构的定义。
REST
是一种基于web的技术,通过使用HTTP/HTTPS协议传输数据,没有任何限制和阻塞。
流行的API
今天它主要依赖于使用API。即使是进行网络搜索,Google也使用不同的api来完成搜索。下面我们将列出一些流行的api。
Google Maps API
提供对Google地图资源(如地图、位置、业务)的访问,并将这些信息轻松嵌入到其他应用程序中。
YouTube API
提供一个集成的YouTube平台,包含不同的应用程序和网站,这些应用程序和网站提供分析、数据、实时流媒体和播放器服务等信息。
Flickr API
提供对Flickr照片库的访问,并轻松嵌入不同的应用程序。
Twitter API
可用于访问Twitter资源,如Tweets、登录、创建/删除/转发Tweets。此外,通过使用twitterapi,可以根据标签、日期、用户、位置等不同的术语对所有tweet进行搜索。
Microsoft Windows API
为Windows桌面应用程序提供操作系统资源和功能。例如,为了创建应用程序的窗口,使用windowsapi。