美文网首页
什么是API

什么是API

作者: IvanHung | 来源:发表于2016-12-03 16:56 被阅读81次

    一、API(Application Programming Interface,应用程序编程接口)

    1、API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    2、简单理解,一个API就是一个函数,这个函数提供了某一样特殊的能力,比如一个API是用来吐出某一个地理坐标下天气的能力。API也常被成为API函数,可以理解为一个接口,接口是一个内聚系统暴漏给外部的一切信息,包含但不限于:

    a)调用方式:比如通过lib库或者http接口等。

    b)调用约定:比如lib的函数签名或者HTTP的参数,http method或者头信息,长短链接等等。

    c)依赖关系:比如接口的调用需要涉及到第三方或者其他的准备工作等等。

    3、在应用开发中,系统暴露的能力是以SDK的形式发行交给开发者的,所以SDK中一般封装了很多API,这些API就对应着系统或平台的能力。

    二、公有与私有API

    1、API又分为「公有API」和「私有API」。

    2、公有API是系统以SDK形式暴露出来,对所有开发者可见。公有API随便用,都是系统授权的。

    3、私有API一般是系统内部使用或者仅限于系统自带的一些应用程序使用,不允许应用程序开发者使用的,这种一般对应于一些敏感的能力,比如认为此API可能被滥用,造成用户体验下降或此API对其他应用程序可能是危险的。私有API谨慎使用,系统未来可能会不再支持或触犯厂商规则。

    三、API分类

    1、操作系统API:

    以Android 系统为例,当工程师写一个 Android APP时,需要使用手机拍照功能采集用户头像,工程师如何让手机自动打开拍照界面并获取拍照的图片呢?控制手机摄像头,看起来是个很复杂的操作,实际上只需调用一句核心代码即可实现:Camera.takePicture()。调用该函数后,手机便会打开相机,按下快门后程序自动获取拍照后的图片。而上面的这个拍照函数,就是Android 系统提供的 API。

    对应的,诸如获取GPS坐标、向服务器发送请求、连接蓝牙、显示图片、视频等操作,都是由这种一个个函数操作实现的。工程师不需要关心硬件是如何调用的、只需按照规范,调用 Android的 API 即可。

    2、库与框架的API:

    移动端APP 经常需要用到一些第三方的服务,比如需要统计 APP使用情况时,会用到友盟统计、TalkingData,需要实现一键分享到多个社交媒体时,会用到 ShareSDK。使用这类第三方服务之前,需要在 APP中嵌入对应的代码库,然后再调用他们开放的 API,比如要在按钮上加监测,触发下面的代码即可:MobclickAgent.onEvent(Context context, String eventId);

    这里的API也指具体的函数,触发该函数后友盟会自动收集事件信息,并将监测数据发送到服务器,开发 app 的工程师则不需关心这些细节。

    3、Web API:

    Web API 不是一个具体的编程语言函数,而是一个http请求。比如,一个第三方APP需要获取用户微博信息,可以发起如下的 http 请求获取:https://api.weibo.com/2/users/show.json,通过下面的请求获取用户粉丝列表:https://api.weibo.com/2/friendships/followers.json。当然,获取这些信息的前提是需要用户授权,涉及到参数传递以及权限认证。

    除了微博你能想到的服务大多数都有开放API,诸如图像识别、语音合成、车票查询、天气查询,只需一个http请求的调用,即可完成你想要的任务。百度API Store:http://apistore.baidu.com/

    ——部分内容整理自网络——

    相关文章

      网友评论

          本文标题:什么是API

          本文链接:https://www.haomeiwen.com/subject/mrecmttx.html