0

0

api是什么

藏色散人

藏色散人

发布时间:2018-12-18 10:31:23

|

216383人浏览过

|

来源于php中文网

原创

api全称“Application Programming Interface”,中文意思为“应用程序编程接口”,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

api是什么

本教程操作环境:windows7系统、Dell G3电脑。

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

应用程序接口

想象一下像餐馆菜单中的API。菜单提供您可以订购的菜肴列表,以及每道菜的描述。当您指定所需的菜单项时,餐厅的厨房可以完成工作并为您提供一些成品菜肴。你不确切知道餐厅如何准备食物,你真的不需要。

类似地,API列出了开发人员可以使用的一系列操作,以及他们所做的事情的描述。开发人员不一定需要知道如何构建操作系统并显示“另存为”对话框。他们只需要知道它可以在他们的应用程序中使用。

这不是一个完美的比喻,因为开发人员可能必须提供他们自己的数据到API来获得结果,所以也许它更像是一个高档餐厅,你可以提供厨房将使用的一些自己的成分。

但它的准确性非常准确。API允许开发人员通过利用平台的实现来完成细节工作,从而节省时间。这有助于减少开发人员需要创建的代码量,还有助于在同一平台的应用程序之间创建更高的一致性。API可以控制对硬件和软件资源的访问。

API使开发人员的生活更轻松

假设您想为iPhone开发应用程序。Apple的iOS操作系统提供了大量的API - 正如其他操作系统所做的那样 - 让您更轻松。

例如,如果要嵌入Web浏览器以显示一个或多个网页,则无需为您的应用程序从头开始编写自己的Web浏览器。您可以使用WKWebView API在应用程序中嵌入WebKit(Safari)浏览器对象。

如果您想从iPhone的相机中捕捉照片或视频,则无需编写自己的相机界面。您可以使用相机API在您的应用中嵌入iPhone的内置相机。如果不存在API以使这一点变得简单,那么应用程序开发人员必须创建自己的相机软件并解释相机硬件的输入。但Apple的操作系统开发人员已经完成了所有这些艰苦的工作,因此开发人员可以使用相机API嵌入相机,然后继续构建他们的应用程序。而且,当Apple改进相机API时,所有依赖它的应用程序都会自动利用这一改进。

这适用于每个平台。例如,您想在Windows上创建一个对话框吗?有一个API。想在Android上支持指纹认证吗?还有一个API,所以你不必测试每个不同的Android制造商的指纹传感器。开发人员不必一遍又一遍地重新发明轮子。

API控制对资源的访问

阿里云-虚拟数字人
阿里云-虚拟数字人

阿里云-虚拟数字人是什么? ...

下载

API还用于控制对应用程序未必具有使用权限的硬件设备和软件功能的访问。这就是API经常在安全性方面发挥重要作用的原因。

例如,如果您访问过某个网站并在浏览器中看到该网站要求查看您的确切位置的消息,则该网站会尝试在您的网络浏览器中使用地理定位API。Web浏览器公开这样的API,使Web开发人员可以轻松访问您的位置 - 他们可以询问“您在哪里?”,浏览器可以轻松访问GPS或附近的Wi-Fi网络以查找您的物理位置。

api是什么

但是,浏览器还会通过API公开此信息,因为它可以控制对它的访问。当网站想要访问您的确切物理位置时,他们可以通过位置API获取它的唯一方法。并且,当网站尝试使用它时,您 - 用户 - 可以选择允许或拒绝此请求。访问GPS传感器等硬件资源的唯一方法是通过API,因此浏览器可以控制对硬件的访问并限制应用程序可以执行的操作。

同样的原则也用于现代移动操作系统,如iOS和Android,其中移动应用程序具有可以通过控制对API的访问来实施的权限。例如,如果开发人员尝试通过相机API访问相机,则可以拒绝权限请求,并且应用无法访问设备的相机。

使用权限的文件系统(如在Windows,Mac和Linux上一样)具有文件系统API强制执行的权限。典型应用程序无法直接访问原始物理硬盘。相反,应用程序必须通过API访问文件。

API用于服务之间的通信

API也用于各种其他原因。例如,如果您曾在网站上看过嵌入的Google地图对象,则该网站会使用Google Maps API嵌入该地图。Google向这些Web开发人员公开了这样的API,然后他们可以使用API在他们的网站上填充复杂的对象。如果这样的API不存在,开发人员可能必须创建自己的地图并提供他们自己的地图数据,只是为了在网站上放置一个小的交互式地图。

而且,由于它是一个API,谷歌可以控制在第三方网站上访问谷歌地图,确保他们以一致的方式使用它,而不是试图嵌入一个显示谷歌地图网站的框架。

这适用于许多不同的在线服务。有一些API可用于从Google翻译中请求文本翻译,或在网站上嵌入来自Twitter的Facebook评论或推文。

该OAuth的标准还定义了一些API,允许您登录到网站与其他服务,例如,使用您的Facebook,谷歌,或Twitter帐户登录到一个新的网站,而不只是该网站创建一个新的用户帐户。API是标准合同,用于定义开发人员如何与服务进行通信,以及开发人员应该收到的输出类型。

除非您是开发人员,否则您不需要知道API是什么。但是,如果您看到软件平台或服务为各种硬件或服务添加了新API,那么开发人员应该更容易利用这些功能。

相关专题

更多
excel制作动态图表教程
excel制作动态图表教程

本专题整合了excel制作动态图表相关教程,阅读专题下面的文章了解更多详细教程。

20

2025.12.29

freeok看剧入口合集
freeok看剧入口合集

本专题整合了freeok看剧入口网址,阅读下面的文章了解更多网址。

65

2025.12.29

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2025.12.29

python中def的用法大全
python中def的用法大全

def关键字用于在Python中定义函数。其基本语法包括函数名、参数列表、文档字符串和返回值。使用def可以定义无参数、单参数、多参数、默认参数和可变参数的函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

python改成中文版教程大全
python改成中文版教程大全

Python界面可通过以下方法改为中文版:修改系统语言环境:更改系统语言为“中文(简体)”。使用 IDE 修改:在 PyCharm 等 IDE 中更改语言设置为“中文”。使用 IDLE 修改:在 IDLE 中修改语言为“Chinese”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

C++的Top K问题怎么解决
C++的Top K问题怎么解决

TopK问题可通过优先队列、partial_sort和nth_element解决:优先队列维护大小为K的堆,适合流式数据;partial_sort对前K个元素排序,适用于需有序结果且K较小的场景;nth_element基于快速选择,平均时间复杂度O(n),效率最高但不保证前K内部有序。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

12

2025.12.29

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

134

2025.12.29

抖音网页版入口在哪(最新版)
抖音网页版入口在哪(最新版)

抖音网页版可通过官网https://www.douyin.com进入,打开浏览器输入网址后,可选择扫码或账号登录,登录后同步移动端数据,未登录仅可浏览部分推荐内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

63

2025.12.29

快手直播回放在哪看教程
快手直播回放在哪看教程

快手直播回放需主播开启功能才可观看,主要通过三种路径查看:一是从“我”主页进入“关注”标签再进主播主页的“直播”分类;二是通过“历史记录”中的“直播”标签页找回;三是进入“个人信息查阅与下载”里的“直播回放”选项。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

18

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

微信小程序开发之API篇
微信小程序开发之API篇

共15课时 | 1.2万人学习

Laravel---API接口
Laravel---API接口

共7课时 | 0.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号