導覽
近期變更
隨機頁面
新手上路
新頁面
優質條目評選
繁體
不转换
简体
繁體
18.222.82.221
登入
工具
閱讀
檢視原始碼
特殊頁面
頁面資訊
求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。
檢視 应用程序接口 的原始碼
←
应用程序接口
前往:
導覽
、
搜尋
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
用戶
您可以檢視並複製此頁面的原始碼。
[[File:应用程序接口1.png|缩略图|应用程序接口[https://pic.vibaike.com/img/2020/07/fe.png 原图链接][https://pic.vibaike.com/img/2020/07/fe.png 图片来源优酷网]]] 应用程序编程接口,简称API(Application Programming Interface),就是[[软件]]系统不同[[组成]]部分衔接的[[约定]]。 '''中文名''':[[应用程序编程接口]] '''外文名''':application programming interface '''简 称''':API '''领 域''':[[信息科学]] ==简介== 应用程序接口(英语:Application Programming Interface,简称:API),又称为应用[[编程接口]],就是[[软件系统]]不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,[[编程接口]]的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的[[内聚性]],降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。 ==目的== API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。 ==原理== 在数据封装时,网络分层中的每个层相互之间会用接口进行交互并提供服务,其中应用层与用户之间的接口称之为应用程序接口(API,Application Programming Interface)。API实际上是一种功能集合,也可说是定义、协议的集合,无论是那种集合,它的实质都是通过抽象为用户屏蔽实现上的细节和复杂性。 从用户角度看应用程序接口,表现为一系列API函数,用户可以使用这些函数进行网络应用程序开发。从网络角度看,应用程序接口给用户提供了一组方法,用户可以使用这组方法向应用层发送业务请求、信息和数据,网络中的各层则依次响应,最终完成网络数据传输。 <ref>[[任德凌, 顾毓清. 面向对象的应用程序编程接口的设计与实现J. 小型微型计算机系统, 2001, 22(7):813-815.]]</ref> [[File:应用程序接口2.png|缩略图|应用程序接口[https://bbsmax.ikafan.com/proxy/https/images2017.cnblogs.com/blog/8867/201708/8867-20170801105339130-629023746.png 原图链接][https://bbsmax.ikafan.com/proxy/https/images2017.cnblogs.com/blog/8867/201708/8867-20170801105339130-629023746.png 图片来源优酷网]]] ==程序介绍== 随着软件规模的日益庞大,需要把复杂系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。 API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。 A reference implementation of an API is the implementation created by the designer of the API, or one which other implementations of the API are expected to be compared against. 例如,图形库中的一组API定义调用绘制图标函数的方式,以于屏幕上显示图标。程序中调用,编译时连接到这组API,执行时便调用API的实现(库)来显示图标。<ref>[[王东临, 邹开红. 一种将UOML封装成应用程序编程接口的方法:, CN 101192141 B P. 2010.]]</ref> ==系统分类== 操作系统的API可用来分配内存或访问文件。许多系统与应用程序提供API接口与实现,比如[[图形系统]],[[数据库]],[[网络]],[[Web服务]],甚至于某些[[游戏]]。 一组API经常是一套软件开发工具包(Software Development Kit,SDK)的一部分。SDK亦可包含其它工具亦或至于硬件,两个[[术语]]并不完全等同. API又分为(Windows、Linux、Unix等系统的)系统级API,及非操作系统级的自定义API。作为一种有效的代码封装模式,微软Windows的API开发模式已经为许多商业应用开发的公司所借鉴,并开发出某些商业应用系统的[[API函数]]予以发布,方便第三方进行功能扩展。如Google、[[苹果电脑公司]],以及诺基亚等[[手机开发]]的API等等。 API有诸多不同设计。用于快速执行的接口通常包括[[函数]],[[常量]],变量与[[数据结构]]。也有其它方式,如通过[[解释器]],或是提供抽象层以遮蔽同API实现相关的信息,确保使用API的代码无需更改而适应实现变化。 API:应用程序接口(API:Application Program Interface)应用程序接口(API:application programming interface)是一组定义、程序及协议的集合,通过 API接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过使用 API函数开发应用程序,从而可以避免编写无用程序,以减轻编程任务。 API 同时也是一种中间件,为各种不同平台提供数据共享。根据单个或分布式平台不同软件应用程序间的数据共享性能,可以将 API 分为四种类型:远程过程调用(RPC):通过作用在共享数据[[缓存器]]上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的[[数据共享]]。 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。 信息交付:指松耦合或紧[[耦合]]应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。 当前应用于 API 的标准包括 ANSI 标准 SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API可以应用于所有计算机平台和操作系统。这些 API以不同的格式连接数据(如共享数据缓存器、[[数据库结构]]、文件框架)。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的 API还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种 API只处理一种信息格式,所以该情形下的信息交付 API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付 API方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付 API 类型是比较理想的选择。API 与[[图形用户接口]](GUI)或命令接口有着鲜明的差别:API 接口属于一种操作系统或[[程序接口]],而后两者都属于直接用户接口。有时公司会将 API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用[[源代码]],该接口标准被称之为开放式 API。 ==常见应用程序接口== 应用层的应用程序接口有很多,并且发展很快,比较常见的如socket、FTP、HTTP以及telnet。这些接口从大类上可分为四类: *远程过程调用(RPC,Remote Procedure Call Protocol) *数据查询接口 *文件类接口 *数据通信接口 例如FTP协议就是文件类接口,基于FTP,用户可以实现文件在网络间的共享和传输。而socket和HTTP可归结为数据通信接口,基于这两种接口,用户可以开发网络通信应用程序,以及web页面交互程序。当然如果从编程开发角度看,无论是FTP、HTTP还是telnet,都是基于socket接口开发出来的[[应用层协议]],是对socket接口的进一步封装和抽象,从而为用户提供更高一层的服务和接口。 socket有时称之为“Berkeley Socket”,它是最早由[[伯克利开发]]的应用程序接口。常用的socket类型有两种:流式socket(SOCK_STREAM)和数据报式socket(SOCK_DGRAM)。 流式socket是一种面向连接的socket,针对于面向连接的TCP服务应用。 数据报式socket是一种无连接的socket,对应于无连接的UDP服务应用。 从用户接口意义上讲,还有传输层的TLI接口,是由AT&T开发的,有时也称作XTI。它是传输层为用户提供的应用程序接口,可以用来在传输层进行应用开发。 <ref>[[余志勇, 李忠义. Delphi环境下电话应用程序编程接口(TAPI)的应用J. 计算机工程与应用, 2000, 36(12):97-99.]]</ref> ==视频== '''什么是小程序''' {{#iDisplay:l1324wwtu3r | 560 | 390 | qq }} ==参考文献== {{Reflist}} [[Category:312 電腦科學]]
此頁面使用了以下模板:
Template:Main other
(
檢視原始碼
)
Template:Reflist
(
檢視原始碼
)
模块:Check for unknown parameters
(
檢視原始碼
)
返回「
应用程序接口
」頁面