应用程序编程接口对开发人员隐藏了复杂性,将系统扩展到合作伙伴,组织代码并使组件可重用 。
API代表应用程序编程接口,这个概念可以应用到任何地方,从命令行工具到企业Java代码,再到Ruby on Rails Web应用程序 。API是一种以编程方式与单个软件组件或资源进行交互的方式 。
除非你从头开始写每一行代码,否则你将与外部软件组件交互,每个组件都有自己的API 。即使你完全从零开始写东西,设计良好的软件应用程序将有内部API来帮助组织代码,使组件更可重用 。还有许多公共API允许您通过 利用其他地方开发的功能 。
什么是API?API被定义为可能与软件组件交互的规范 。这究竟意味着什么?想象汽车是一个软件组件 。它的API将包括它能做什么的信息——加速、刹车、打开收音机等等 。它还包括如何让它做这些事情的信息 。例如,为了加速,你把你的脚放在油门踏板上并推动它 。
API不需要解释当你踩油门的时候引擎内部发生了什么 。这就是为什么,如果你学开内燃机车,不用学一整套新的技能也能开电动车 。API定义中的内容和模式信息是抽象的,与汽车本身是分离的 。
需要记住的一点是,一些API的名称通常用于指代交互规范和您与之交互的实际软件组件 。例如,短语“Twitter API”不仅指一组以编程方式与Twitter交互的规则,而且通常被理解为您与之交互的东西,例如“我们正在分析从中获得的推文”Twitter API 。"
作为抽象层,API说到软件,API几乎无处不在 。API与计算机科学中一个最基本的概念密切相关:抽象 。抽象只是一种组织系统复杂性的方式,这样复杂的操作就可以用简单的方式来处理 。把这个抽象想象成那些 Dash按钮,电池供电的按钮电路板,你可以用它从 订购订书钉 。这是它们的样子:
你从 订购了一个Dash按钮,并使用智能手机上的应用程序将其与你的Wi-Fi 、你的 账户和产品(如你最喜欢的纸巾品牌)相关联 。然后,无论何时你想订购更多的纸巾,只要按一下按钮就行了 。Dash Button连接到互联网并发送一条消息,在您的帐户中下单 。再过几天,纸巾就会送上门 。
和API一样,Dash Button是一个非常简单的接口,它的背后隐藏着各种复杂 。您订购的产品的ID必须从数据库中检索 。您的送货地址必须从您的帐户中提取 。您必须确定最近存储您的纸巾的运营中心,然后通知您从可用库存中取出货物并进行包装 。最后,包裹必须与其他包裹一起通过飞机、卡车和货车的某种组合,以确保所有包裹都能有效到达目的地 。
现在想象一下,作为客户,你必须协调所有这些事情 。你永远不会订纸巾,因为太复杂太费时,你有更好的事情要做 。幸运的是,整个磨难已经离你而去 。有一个漫长的、相互关联的计算机系统和人工流程链,让这些组织出现在你的家门口,但你只需要按一个按钮 。
这就是API对程序员的意义 。它们采用了大量的复杂性,并定义了一组相对简单的交互,您可以使用这些交互,而不是自己做所有的事情 。在任何一个软件项目中,你可能会直接使用几十个甚至上百个API,而这些API中的每一个都依赖于其他API,等等 。
通用API和API集成API是计算机编程中的一个长期概念,多年来它一直是开发人员工具集的一部分 。传统上,API用于连接运行在同一台机器上的代码组件 。随着泛在 的兴起,越来越多的公共API(有时称为开放API)变得可用 。公共API是面向外部的,可以通过互联网访问,允许你编写代码与其他供应商的在线代码交互;这个过程被称为API集成 。**
这些类型的代码混搭允许用户在自己的系统上混合和匹配来自不同供应商的功能 。例如,如果您使用营销自动化软件Marketo,您可以将您的数据与Salesforce CRM功能同步 。
在这种情况下,“开放”或“公开”不应被解释为“免费” 。您仍然需要成为Marketo和Salesforce客户才能使用此功能 。然而,这些API的可用性使得集成过程比其他 简单得多 。(InfoWorld有很多你应该知道的公共API列表* 。)
Web服务和API【api什么意思(网页调用api接口)】你可能会想到20世纪初的 服务这个词,觉得开放API的想法听起来很像 。事实上,Web服务是一种特定类型的开放式API,它符合一组相当严格的规范,包括那些在Web服务描述语言(WSDL,XML的一种变体)中指定的规范 。
Web服务旨在用作面向服务的架构(SOA)的一部分 。正如Nordic APIs博客所解释的,这给Web服务带来了坏名声,因为SOA从未完全实现其潜力 。服务到服务通信技术的进步——尤其是更轻便、更灵活的REST——也使得Web服务在公共API领域落后了 。
- 比利时说什么语言(比利时为什么华人多)
- seeking arrangement.com是什么网站?
- 杨永信为什么没被判刑(杨永信为何不遭到法律制裁)
- 重庆有什么好玩的(重庆十大景区排名)
- 什么是素质教育(2021中小学生安全素质回放)
- 股市pe是什么意思(股票分位点怎样查看)
- 什么是pmp(pmp项目管理是什么意思)
- 什么是sci(sci论文含金量)
- 纵深是什么意思(纵深行进是什么意思)
- azw3用什么看(azw3阅读器app)