关于API的概念和应用

简介: 关于API的概念和应用

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获取它的唯一方法。并且,当网站尝试使用它时,您 - 用户 - 可以选择允许或拒绝此请求。访问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,那么开发人员应该更容易利用这些功能。


以下是我们经常需要应用到的一些电商平台数据调用数据调用

相关文章
|
12天前
|
监控 安全 测试技术
API 管理的概念是什么?Apifox 为什么值得推荐?
在互联世界中,API如同软件间的“翻译官”,让应用能相互交流、共享数据。随着API数量激增,有效管理变得至关重要。API管理确保API的质量、安全与性能,提升开发效率及用户体验。它覆盖API从设计到废弃的全过程。利用如Apifox这样的工具,可以轻松实现API的设计、测试、文档管理和模拟等。Apifox集多种功能于一体,简化工作流程,提高团队协作效率。在选择API管理工具时,Apifox以全面的功能和友好的使用体验脱颖而出,成为开发者们的优选。随着技术发展,未来API管理将更加智能化和高效。
API 管理的概念是什么?Apifox 为什么值得推荐?
|
11天前
|
API
|
14天前
|
人工智能 Serverless API
AI 创业及变现新思路:零门槛 AI 绘图,定制 ComfyUI Serverless API 应用
为了帮助用户高效率、低成本应对企业级复杂场景,本文介绍 ComfyUI API Serverless 版解决方案,通过使用该方案,用户可以充分利用 ComfyUI +Serverless 技术优势快速开发上线 AI 绘画应用,期待为广大开发者 AI 绘画创业及变现提供思路。
|
12天前
|
XML API 数据库
商品详情数据API接口概念(sku详情图属性等全面的解析)
商品详情数据API接口是指一种编程接口(API, Application Programming Interface),它允许开发者或系统以编程方式获取商品的详细信息,包括但不限于SKU(Stock Keeping Unit,库存量单位)的详细信息、商品图片、商品属性、价格、库存状态、用户评价等。这种接口通常由电商平台、商品数据库服务商或第三方数据提供商提供,旨在帮助开发者或企业快速集成商品数据到其应用程序或系统中。
|
8天前
|
移动开发 API 开发者
什么是HTML5 History API有哪些应用场景
【8月更文挑战第11天】什么是HTML5 History API有哪些应用场景
18 1
|
1天前
|
JSON 前端开发 API
一文讲清 API 接口的概念、设计和实现
总结 在这个例子中,我们创建了一个简单的Express服务器,并定义了一个/api/auth/login的POST接口来处理登录请求。我们使用body-parser中间件来解析请求体中的JSON数据,并在接口内部进行简单的用户名和密码验证。
|
27天前
|
SQL API 网络架构
Pythoner必看!RESTful API设计秘籍,让你的Web应用瞬间高大上!
【7月更文挑战第24天】在 Python Web 开发中, RESTful API 设计至关重要, 它不仅展现技术实力, 更提升应用的可维护性与用户体验。
37 5
|
5天前
|
开发框架 .NET API
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
|
6天前
|
人工智能 API 数据安全/隐私保护
通义听悟AI能力问题之API接口服务的潜在应用类别如何解决
通义听悟AI能力问题之API接口服务的潜在应用类别如何解决
16 0
|
20天前
|
开发框架 前端开发 应用服务中间件
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用