什么是api?

你可能已经看到了术语“API”的出现。操作系统、web浏览器和应用程序更新经常为开发人员发布新的API。但是什么是API呢?...

什么是api?

你可能已经看到了术语“API”的出现。操作系统、web浏览器和应用程序更新经常为开发人员发布新的API。但是什么是API呢?

应用程序接口

术语API是首字母缩写,它代表“应用程序编程接口”

把API想象成餐馆的菜单。菜单提供了您可以点的菜的列表,以及每道菜的描述。当你指定你想要的菜单项目时,餐厅的厨房会为你提供一些成品菜。你不知道餐厅是怎么准备食物的,其实你也不需要。

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

这并不是一个完美的比喻,因为开发人员可能必须向API提供自己的数据才能得到结果,所以也许它更像是一家高级餐厅,您可以提供厨房将使用的一些自己的配料。

但它大体上是准确的。api允许开发人员通过利用平台的实现来完成基本工作,从而节省时间。这有助于减少开发人员需要创建的代码量,也有助于为同一平台的应用程序创建更多的一致性。api可以控制对硬件和软件资源的访问。

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

假设你想为iPhone开发一个应用程序。苹果的iOS操作系统提供了大量的API,就像其他操作系统一样,让你更容易使用。

例如,如果您想嵌入一个web浏览器来显示一个或多个web页面,您不必仅为应用程序从头开始编写自己的web浏览器。您可以使用WKWebView API在应用程序中嵌入WebKit(Safari)浏览器对象。

如果你想从iPhone的相机上拍摄照片或视频,你不必编写自己的相机界面。你可以使用cameraapi将iPhone的内置摄像头嵌入到你的应用程序中。如果API不存在使这变得容易,应用程序开发人员将不得不创建自己的相机软件并解释相机硬件的输入。但是苹果的操作系统开发人员已经完成了所有这些艰苦的工作,所以开发人员只需使用cameraapi嵌入一个摄像头,然后就可以开始构建他们的应用程序了。而且,当苹果改进了摄像头API后,所有依赖它的应用程序都会自动利用这一改进。

这适用于所有平台。例如,是否要在Windows上创建对话框?有一个API。想在Android上支持指纹认证吗?这也有一个API,所以你不必测试每一个不同的Android**商的指纹传感器。开发者不必一次又一次地重新发明轮子。

API控制对资源的访问

api还用于控制对硬件设备和软件功能的访问,应用程序可能不一定有使用权限。这就是为什么api经常在安全性方面扮演重要角色。

相关:如何阻止网站询问你的位置

例如,如果您曾经访问过一个网站,并且在浏览器中看到一条消息,表明该网站要求查看您的精确位置,则该网站正在尝试在您的浏览器中使用地理位置API。Web浏览器公开了这样的API,使得Web开发人员可以很容易地访问您的位置—他们只需问“您在哪里?”?“而且浏览器可以通过访问GPS或附近的Wi-Fi网络来查找您的物理位置。

什么是api?

然而,浏览器也通过API公开这些信息,因为可以控制对它的访问。当一个网站想要访问你的确切物理位置时,他们唯一能得到它的方法就是通过locationapi。而且,当一个网站试图使用它时,你可以选择允许或拒绝这个请求。访问GPS传感器等硬件资源的唯一方法是通过API,因此浏览器可以控制对硬件的访问并限制应用程序的功能。

这一原则同样适用于iOS和Android等现代移动操作系统,在这些系统中,移动应用程序拥有通过控制对api的访问来强制执行的权限。例如,如果开发人员试图通过camera API访问摄像头,您可以拒绝该权限请求,并且应用程序无法访问您设备的摄像头。

像在Windows、Mac和Linux上那样使用权限的文件系统具有由文件系统API强制执行的那些权限。典型的应用程序不能直接访问原始物理硬盘。相反,应用程序必须通过API访问文件。

API用于服务之间的通信

api的使用还有其他各种原因。例如,如果您曾经看到一个Google地图对象嵌入到一个网站上,那么该网站正在使用Google地图API来嵌入该地图。Google将这样的api公开给web开发人员,他们可以使用这些api在自己的网站上发布复杂的对象。如果这样的api不存在,开发人员可能需要创建自己的地图并提供自己的地图数据,以便在网站上放置一个小的交互式地图。

而且,因为它是一个API,Google可以控制第三方网站对Google地图的访问,确保他们以一致的方式使用它,而不是试图杂乱地嵌入一个显示Google地图网站的框架。

这适用于许多不同的在线服务。有一些api可以从googletranslate请求文本翻译,或者在网站上嵌入Facebook评论或tweet。

相关:什么是OAuth?Facebook、Twitter和Google的登录按钮是如何工作的

OAuth标准还定义了许多api,允许您使用另一个服务登录到一个网站,例如,使用您的Facebook、Google或Twitter帐户登录到一个新网站,而不必仅为该网站创建新的用户帐户。api是标准契约,定义了开发人员如何与服务进行通信,以及开发人员应该期望收到的输出类型。


如果你已经完成了这一步,你会对什么是API有更好的了解。归根结底,除非你是一个开发人员,否则你不需要知道什么是API。但是,如果您看到一个软件平台或服务为各种硬件或服务添加了新的api,那么开发人员应该更容易利用这些特性。

图片来源:patpitchaya/Shutterstock.com网站.

  • 发表于 2021-04-06 15:08
  • 阅读 ( 142 )
  • 分类:互联网

你可能感兴趣的文章

使用serpstack api从搜索结果中提取有用的数据

...时,他们会把注意力集中在自己身上。我们知道我们在找什么,而且,一般来说,我们知道如何找到它。弄清楚别人是如何在网上搜索的难度要大得多,尤其是现在的网站非常关注搜索引擎排名。 ...

  • 发布于 2021-03-18 18:52
  • 阅读 ( 201 )

scrapestack api可以轻松地从网站中获取数据

... 为什么需要scrapeapi ...

  • 发布于 2021-03-19 05:12
  • 阅读 ( 212 )

将主页上的天气数据与weatherstack api集成

... 为什么您的站点或应用程序需要天气api? ...

  • 发布于 2021-03-19 09:24
  • 阅读 ( 221 )

免费ip地理定位api是一个有价值的网站管理员工具

... 你为什么要用它? ...

  • 发布于 2021-03-20 15:06
  • 阅读 ( 206 )

使用userstack的用户代理api完美地定制您的网站

... userstack能为您做什么? ...

  • 发布于 2021-03-22 03:14
  • 阅读 ( 202 )

如何使用ipstack api进行ip地理位置查找

...你经营一个网站,你肯定对访问它的人感兴趣。但是,为什么要让自己蒙在鼓里,去猜测你的访客或者处理不完整的信息呢? ...

  • 发布于 2021-03-25 03:02
  • 阅读 ( 280 )

API如何工作以及如何将它们集成到应用程序中

...像在比萨餐厅下订单一样。你不能进厨房告诉他们你想要什么。你需要一个服务员来拿你的菜,在你的比萨饼回来之前把它传达给厨房。 ...

  • 发布于 2021-03-29 15:48
  • 阅读 ( 215 )

要将新闻标题添加到您的网站或应用程序中吗?你需要mediastack api

无论你网站的焦点是什么,新闻发布都是保持读者参与的关键。你可以自己寻找和撰写新闻——也可以依靠mediastack API在网站或应用程序上直接向读者提供新闻。 ...

  • 发布于 2021-03-30 01:10
  • 阅读 ( 186 )

snapchat的非官方api是否太容易被破解?

...进入Snapchat服务器,它就不再是私有的。”
 Snapchat有什么保护措施来防止这种情况?就像我之前说过的,所有的流量都是https(已经比Instagram好了,我的一个朋友Stevie Graham发现了一种通过单个http端点利用它的方法),但是它...

  • 发布于 2021-04-27 15:27
  • 阅读 ( 182 )

年收益率(apy)

什么是年收益率(apy)(annual percentage yield (apy))? 年百分比收益率(APY)是考虑复利影响的储蓄存款或投资的实际收益率。 关键要点 APY是一年内的实际收益率,如果利息是复利的话。 复利定期加到投资总额中,增加余额。...

  • 发布于 2021-05-31 14:46
  • 阅读 ( 148 )
gkwh030517
gkwh030517

0 篇文章

相关推荐