科普, API 是这么演变而来的

news/2024/11/28 2:37:13/

API,全称为 Application Programming Interface,中文翻译为应用程序编程接口,是为了方便应用程序之间的数据和功能交互而设计的一些标准方法。API 的使用让开发者能够快速、高效地构建应用程序,从而加速了应用程序的开发速度。在 API 发展的历史演变中,我们可以看到技术和市场状况的变迁,以及 API 在带动应用程序和服务创新、产业生态和商业模式等方面发挥重要作用的过程。

1970s - 1980s 在计算机科学早期阶段,不同的应用程序除了通过共享内存实现数据交换外,几乎没有其它的方式。然而,当网络开始发展并且多个计算机连接起来的时候,这种方式也无法满足,API 逐渐出现在可调用的函数(即库文件)上。最初的 API 设计是在软件内部定义的,并且通常仅适用于相同编程环境下的调用。此后,一些厂商开始提供跨平台的 API ,但是这些 API 通常针对有限的硬件和软件环境,同时由于硬件和操作系统固有的差异,因此进行跨平台 API 访问仍然很麻烦。

1990s - 2000s 随着万维网的兴起,API 开始发生了重大变化。最初的 Web API 很快流行起来,这些 API 常常使用 SOAP(Simple Object Access Protocol)进行通信,这是一种基于 XML 编码的远程调用协议。SOAP 的复杂性使其在实践中使用变得困难,并且它需要更多的处理时间和网络资源,因此更高效、轻量的 RESTful(Representational State Transfer)API 设计理念自然而然成为了主流。RESTful API 正式提出并完善了互联网服务的架构模式,包括 URI 规范设计、HTTP 请求处理和响应、认证和授权等内容。由于协议简单,容易理解和使用,能够承受更高负载、更快速地响应,并且不容易受到网络故障影响,因此很快成为了主要的 API 交互方式。

2010s - 2020s 在云计算和移动设备普及的背景下,API 的使用领域不断扩大,大企业也开始将 API 开放给第三方合作伙伴使用。Google、Facebook 和 Twitter 等公司开始提供他们的 API,允许其他开发者使用他们的数据和服务构建更丰富的应用程序。API 的使用领域也蔓延到了 Web、移动、桌面和 IoT(Internet of Things)等各种类型的应用程序,并促进了很多行业的创新和变革,从而在产业生态和商业模式方面发挥重要作用。

未来 随着数字化和物联网应用不断普及,应用程序之间的互操作性和协作将变得越来越重要,API 将成为实现应用程序集成和服务扩展所必要的核心技术之一。未来,我们可以预见,API 技术将不断发展和更新,涉及更广泛的场景和应用领域,加速了应用程序开发和服务交付的效率,推动数字化时代的持续发展。

如果你日常会用到 api 管理工具的话,不妨看看我目前参与的这个开源项目,Postcat 开源的 API 管理工具,纯国产,免费的,主打插件生态,适合中小团队以及个人开发者使用,有 API 相关的核心功能。

 

目前在 Github 上 3k star,如果你觉得这个项目还不错的话,不妨点个 star 支持一下~

Github:

https://github.com/Postcatlab/postcat

Postcat 核心功能:

  • API 文档管理:可视化 API 设计,生成 API 文档

  • API 测试:自动生成测试参数,自动生成测试用例,可视化数据编辑

  • 插件拓展:众多插件扩展产品功能,打造属于你和团队的 API 开发平台

  • Mock:根据文档自动生成 Mock,或创建自定义 Mock 满足复杂场景

  • 团队协作:既能实现 API 分享也能可以创建云空间共同协作

Postcat 优势:

  • 免登录即可测试:省去繁琐的验证登录的操作

  • 界面简洁:没有冗余的功能与复杂选项

  • 免费:中小团队以及个人使用

  • 丰富的插件:支持数据迁移、主题、API 安全等高达 30 款插件

  • 国产:能更好的理解国内用户的需求,与开发团队沟通无障碍

  • 完善的用户文档:跟着操作就能快速上手

多提 Issue !多反馈!

在使用过程中有任何疑问,可以进群交流,

也可以在线提 Issue(强烈推荐这种开源的方式),提问题本身就已经在贡献社区了: https://github.com/Postcatlab/postcat/issues


http://www.ppmy.cn/news/61846.html

相关文章

如何升级npm 和 安装nvm 及 升级node.js

1.NPM如何升级? 1.1.可以使用NPM自带的命令进行升级: npm install -g npm 注:这个命令会安装最新的,安装到全局。 2.查看NPM版本 npm -v 注:要是版本过低,可使用上面所说命令进行升级。 3.怎么把node.js升…

[数据库系统] 一、添加常用约束(educoder)

1.任务:给表添加常用的约束。 2.相关知识 在数据库的使用过程中我们经常要限制属性的取值,比如有些属性不能为空,就需要添加非空约束,本关要求完成常用约束的添加和定义。 目录 (1)唯一约束 (2)添加非空约束 (3)使用默认约束…

基于numpy的鸢尾花数据获取、处理等操作。

这是搬运的。 Python 3 可信的 FileEditViewInsertCellKernelHelp 运行 代码标记原生 NBConvert标题- 《基于numpy的鸢尾花数据操作》 一、 实验准备 1.1 实验概述 我们本次实验将会使用的编程语言是Python,在本次实验当中我们将会使用结合我们学习过的numpy 中的知…

协众信息Web前端必备8个工具

1、Wappalyzer 这个工具可以让你了解到某个网站是用什么搭建的,即它的内容管理系统、电子商务平台或营销自动化工具。研究如何创建一个网站,这是一个很棒的工具。 它还创建了使用某些技术的网站列表,这些技术可以帮助你了解如何构建客户的…

创建一个react项目

文章目录 1:命令行输入2:在vs的终端中输入npm start 来启动项目3:删除src目录中的干扰项4:去掉index.js中的严格模式节点JSX介绍JSX中使用js表达式原生js调用三元运算符列表渲染条件渲染三元表达式逻辑&&运算 分支逻辑类名…

消息队列 (Message Queue)

消息队列 What 消息队列 是消息的队列;是消息的临时缓冲;是发布/订阅模式的兄弟;在多个进程/线程间实现异步通讯模式。 Why 消息队列在多个进程/线程中实现了异步通讯模式。 这里我们先介绍下同步消息处理。对于同步消息处理&#xff0…

第七章集合与字典作业

目录 1.字符串去重排序 2.列表去重 第3关 猜年龄 第4关 集合的属性、方法与运算 第5关 集合介绍 第6关 手机销售统计 第7关 集合添加元素 第8关 列表嵌套字典的排序 第9关 绩点计算 第10关 通讯录(MOD) 第11关 字典增加元素 第12关 字典的属性…

CMIP6:WRF模式动力降尺度、单点降尺度、统计方法区域降尺度

专题一 CMIP6中的模式比较计划 1.1 GCM介绍 ​ 1.2 相关比较计划介绍 ​ 专题二数据下载 2.1方法一:手动人工 ​ 利用官方网站 2.2方法二:自动 利用Python的命令行工具 ​ 2.3方法三:半自动购物车 利用官方网站 ​ 2.4 裁剪netCDF文件 …