应用程序编程接口 (API) 充当允许应用程序交换信息的连接点,API可以允许开发人员将非本地功能集成到他们的软件应用程序中。可以由给定 API 交换的信息由主机和请求者通过综合文档进行管理和理解。
应用程序编程接口 (API) 充当允许应用程序交换信息的连接点。例如,餐厅的网站可能包含第三方交付应用程序需要向其用户展示的信息(菜单选项、定价等)。配送应用程序可以通过餐厅网站的 API 请求该信息,该 API 将处理该请求并返回可用数据。
在软件开发中,API 可以允许开发人员将非本地功能集成到他们的软件应用程序中。例如,开发人员可以参考 API 并将他们的软件连接到为他们处理通信功能的云通信平台,而不是从头开始创建通信解决方案以允许用户发送消息。
可以由给定 API 交换的信息由主机和请求者通过综合文档进行管理和理解。这种相互的“合同”允许双方保护敏感数据,因为 API 请求将打包的数据不会超过 API 主机返回所需结果所需的数据。同样,API 的主机发送的数据永远不会超过满足 API 请求所需的数据。这样,两个应用程序都不会完全公开自己或用户的数据。
API 类型
根据 API 的用途或公司的需求,将在给定实例中使用三种不同类型的 API 之一。
- 公共 API:公共 API 是可供公众访问和使用的 API。它们完全暴露给任何希望与主机交互的用户访问。
- 合作伙伴 API:合作伙伴 API 类似于公共 API,它们由第三方托管,主要区别在于 API 访问权限仅限于客户或业务合作伙伴。
- 私有 API:私有或内部 API 存在于公司的内部基础架构中,并且只能由其他内部用户访问。这些类型的 API 允许公司通过允许 IT 基础架构中的不同软件交换信息来顺利执行内部业务功能。
使用 API 的好处
- 减少工作量:开发人员依靠第三方 API 为其软件应用程序提供信息或功能。开发人员无需从头开始编程此功能,而是可以简单地与为其提供信息的 API 建立信息交换。这减少了工作量,并允许开发人员专注于他们正在从事的项目的其他方面。
- 更顺畅的内部操作:私有 API 允许公司连接内部不同的软件系统,从而允许这些系统之间直接有效地交换信息。这改善了公司内部的协作,从而提高了生产力。
- 产品创新:软件世界瞬息万变,企业必须创新才能跟上趋势和竞争。当软件产品领域出现新的“必备”功能时,开发人员可以依靠 API 将相关功能快速整合到他们的应用程序中。这使公司能够保持竞争力,而无需花费时间解决已经解决的问题。
- 改进的用户体验: API 的数据共享功能有许多用例,包括基于数据收集个性化和改进用户体验的能力。例如,一家分析其应用程序通过 API 公开的用户行为数据的公司可以发现客户旅程中的痛点并努力解决这些痛点。
- 聚焦营销:与公司可以通过分析 API 暴露的行为数据来改善用户体验的方式大致相同,营销工作也受益于相同的数据,并允许公司将广告定位到特定受众。通过根据行为和人口统计数据为用户提供内容,营销人员获得了提高参与度的优势。
使用 API 的影响
软件开发公司可能会因依赖 API 而受到负面影响:
- 安全风险:依赖外部 API 的公司本身就会面临安全风险。当与第三方 API 交换敏感数据时,公司实质上是将其安全策略的一部分委托给该第三方。虽然数据交换通常由主机和请求者共同管理和保护,但任何 API 漏洞都会为可能暴露敏感用户或公司数据的数据泄露打开大门。公司可以通过使用软件组合分析工具等解决方案来降低这些风险,这些工具允许开发人员监控和管理其应用程序使用的第三方 API。
- 过度依赖:过度依赖外部 API 来为公司的软件产品提供功能会导致许多问题。除了增强的安全风险之外,还可能出现性能问题,使开发人员别无选择,只能等待 API 的主机解决问题。当功能被原生编程到应用程序中时,其开发团队可以通过调整代码来解决问题,从而获得更大的控制权。当应用程序的大部分功能依赖于 API 时,开发人员就会失去这种控制。