图片-精准获客

API 究竟代表着何种含义?

API

(Application Programming Interface,即应用程序接口)指的是一些预先设定好的函数,或者说是软件系统不同构成部分相互衔接的约定。[1] 其能够为应用程序以及开发人员基于特定软件或硬件提供一组例程,而且无需去访问源代码,也不用理解内部工作机制的详细情况。

简介

操作系统充当着用户与计算机硬件系统之间的连接桥梁,在操作系统的辅助下,用户能够迅速、高效、安全且可靠地操控计算机系统内的各种资源,从而处理自身的程序。为了让用户能够便捷地运用操作系统,OS 为用户提供了下面两类接口:

(1) 用户接口:操作系统特意为用户准备了“用户与操作系统的接口” ,通常被称为用户接口。这个接口支持用户和 OS 之间的互动,也就是由用户向 OS 提出特定服务的请求,然后系统将服务的结果回馈给用户。

(2) 程序接口:操作系统向编程人员给予了“程序与操作系统的接口” ,简称为程序接口,也叫应用程序接口 API(Application Programming Interface)。 此接口是供程序员在编程过程中使用的,系统和应用程序凭借这个接口,能够在运行过程中访问系统内的资源并获取 OS 的服务,它也是程序能够获取操作系统服务的唯一路径。大多数操作系统的程序接口是由一组系统调用(system call)构成,每一个系统调用都是一个能够完成特定功能的子程序 [2] 。

应用程序接口又被叫做应用编程接口,是一组定义、程序以及协议的集合,借助 API 接口来达成计算机软件之间的相互通信。API 的一个关键作用在于提供通用的功能集合。API 同时也是一种中间件,为各种不同的平台实现数据共享。在程序设计的实际操作中,编程接口的设计首先要让软件系统的职责得到合理的划分。出色的接口设计能够降低系统各部分之间的相互依赖,提高组成单元的内聚性,减少组成单元之间的耦合程度,进而提升系统的可维护性和可扩展性。

分类

Windows API

操作系统的用户接口

API 函数被包含在 Windows 系统目录下的动态连接库文件当中。Windows API 是一套预先定义好的、用于控制 Windows 各个部件的外观和行为的 Windows 函数。用户的每一个动作都会触发一个或者几个函数的运行,以此告知 Windows 发生了什么。这在一定程度上类似于 Windows 的原生代码。而其他的语言只是提供了一种能够自动且更便捷地访问 API 的方式。当你点击窗体上的一个按钮时,Windows 会向窗体发送一个消息,VB 获取这个调用并经过分析后生成一个特定的事件。

更通俗地讲:Windows 系统除了协调应用程序的运行、内存的分配、系统资源的管理之外,同时它也是一个规模较大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个函数)能够帮助应用程序实现开启视窗、描绘图形以及使用周边设备等目标,因为这些函数服务的对象是应用程序,所以被称为 Application Programming Interface,简称为 API 函数。WIN32 API 也就是 Microsoft Windows 32 位平台的应用程序编程接口。

只要是在 Windows 工作环境中运行的应用程序,都能够调用 Windows API。

linux API

在 linux 中,用户编程接口 API 遵循了 UNIX 中最流行的应用编程界面标准——POSIX 标准。POSIX 标准是由 IEEE 和 ISO/IEC 共同研发的标准系统。该标准基于当时已有的 UNIX 实践和经验,描述了操作系统的系统调用编程接口 API,用于确保应用程序能够在源程序级别上在多种操作系统上进行移植运行。这些系统调用编程接口主要是通过 C 库(LIBC)来达成的。

开放平台

基于互联网的应用变得日益广泛,在这个进程中,有更多的站点把自身的资源向开发者开放以供调用。对外提供的 API 调用让站点之间的内容关联更加紧密,同时这些开放的平台也为用户、开发者和中小网站创造了更大的价值。

开放是发展的趋势,越来越多的产品走向开放。网站不能依靠限制用户离开来留住用户,开放的架构反而进一步增强了用户的黏性。在 Web 2.0 的浪潮来临之前,开放的 API 甚至源代码主要体现在桌面应用上,越来越多的 Web 应用开始向开发者开放 API。

具备分享、标准、去中心化、开放、模块化特性的 Web 2.0 站点,在为使用者带来价值的同时,更期望通过开放的 API 让站点提供的服务拥有更庞大的用户群体和更多的服务访问量。

站点在推出基于开放 API 标准的产品和服务后,无需耗费大量精力进行市场推广,只要所提供的服务或应用出色且易于使用,其他站点就会主动将开放 API 提供的服务整合到自己的应用当中。同时,这种整合 API 带来的服务应用,也会激发更多富有创意的应用产生。

为了能够对外提供统一的 API 接口,需要对开发者开放资源调用 API 的站点提供开放且统一的 API 接口环境,以辅助使用者访问站点的功能和资源。

当然,开放 API 的站点为第三方的开发者提供良好的社区支持也是很有意义的,这有助于吸引更多的技术人员参与到开放的开发平台中,并开发出更有趣的第三方应用。

视频云技术提供商 CC 视频开放 API 接口,用户能够在自己的网站后台轻松完成视频的上传、视频播放控制等操作,并可批量获取视频及平台信息。

API 声明

正如在“什么是 API”中所提及的,API 函数包含在位于系统目录下的 DLL 文件中。你能够自行输入 API 函数的声明,不过 VB 提供了一种更为简便的方法,那就是使用 API Text Viewer。 要想在你的工程中声明 API 函数,只需运行 API Text Viewer,打开 Win32api.txt 或者 MDB。倘若你已经将其转换为数据库的话,这样能够加快速度。 对于使用预定义的常量和类型,也是同样的办法。 API 除了有“应用程序接口”的含义之外,还专门指代 API 的说明文档,也被称为帮助文档。

常见问题

假设你想要在你的窗体模块中声明一个函数,进行粘贴然后运行,VB 会告知你:编译错误……Declare 语句不允许作为类或对象模块中的 Public(公共的) 成员。……看起来情况不妙,实际上你需要做的仅仅是在声明前面添加一个 Private(私有的)。别忘了,不过这会使得该函数只在该窗体模块中可用。在某些情形下,你会得到“不明确的名称”这样的提示,这是由于函数、常量或者其他的东西共用了一个名称。由于绝大多数的函数都进行了别名化,也就是说意味着你能够通过 Alias 子句使用其他的而不是它们原有的名称,你只需要简单地更改一下函数名称,它仍然能够正常运行。

程序功能

远程过程调用(RPC):通过作用于共享数据缓存器上的过程(或任务)来实现程序之间的通信。

标准查询语言(SQL):是标准的用于访问数据的查询语言,通过通用数据库达成应用程序之间的数据共享。

文件传输:文件传输通过发送格式化文件来实现应用程序之间的数据共享。

信息交付:指的是松耦合或紧耦合应用程序之间的小型格式化信息,通过程序之间的直接通信来实现数据共享。

当下应用于 API 的标准包含 ANSI 标准 SQL API。另外还有一些应用于其他类型的标准仍在制定当中。API 能够应用于所有的计算机平台和操作系统。这些 API 以不同的格式连接数据。每种数据格式要求以不同的数据命令和参数来实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的 API 还必须处理很多网络参数问题和可能的差错条件,也就是说每个应用程序都必须清楚自身是否有强大的性能来支持程序间的通信。相反,由于这种 API 只处理一种信息格式,所以在这种情形下的信息交付 API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付 API 方式极大地降低了系统的复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付 API 类型是比较理想的选择。

API 与 GUI

API 接口属于一种操作系统或者程序接口,GUI 接口属于一种图形操作系统。两者均属于直接用户接口。有时公司会将 API 当作其公共开放系统。也就是说,公司制定自身的系统接口标准,当需要进行系统整合、自定义以及程序应用等操作时,公司所有成员都能够通过该接口标准调用源代码,这个接口标准被称作开放式 API。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容