这是我们的第一篇月报,每个月和每个来之不易的开发者分享产品故事以及产品进展。
在 5.20 这个极具中国特色的“节日”里,Eoapi 发布了 1.0.0 版,三个程序员掉了半年头发堆出了第一个正式版本。
 
把 Eoapi 介绍给大家的过程中,我们遇到的最多问题是:

你和 Postman 有什么区别?

Postman 出现的时间,是八年前,几乎是同类型 API 工具的祖师爷。
毋庸置疑它是一款优秀的产品,在那个使用 Curl、浏览器、抓包工具调试 API 的年代,这款支持通过界面对 API 发起测试的工具令人眼前一亮。
 
那我们为什么还要做 Eoapi 呢?
 
  1. 商业工具不够开放
商业工具不够开放,除非官方支持,否则很难和其他平台打通。
理想中的用户每天都在使用我们的产品解决任何问题,而实际上用户每天会和各种不同的工具打交道,并没有足够多的时间专注在使用你的产品。
 
△ by Jonathan Holt @ Dribbble
 
所以足够简单,同时打磨核心功能,定义好产品的边界很重要。
我们不想做一个 All in one 的工具,如果没法满足用户的所有需求,那就足够开放让用户选择按照他们喜欢的方式使用各个产品。
没有什么能比代码开源更开放了!
 
所以从去年 11 月开始,我们开始立项、组团队开始做 Eoapi。
 
截图是我们的第一个用户,我在调研时问他:你期待的 API 工具是什么样子?
 
他回答:希望各个工具不要做数据孤岛,能连通多个产品。
 
需要开发者自己写工具连通
 
 
如果说代码开源是我们开放的第一步,那第二步就是加入插件系统了。
如果只是代码开源,想要拓展功能仍然比较困难,我知道很多团队会选择在源代码的基础上二次开发,但当选择二次开发的那一刻起,可能就和后续的官方更新 say goodbye 了,对用户和官方来说都是一种损失,而插件系统就是解决这个问题的一个很好的方案。
插件系统让开发者群体——一群极具创造力的人以更简单的方式参与共建,扩展功能、复用功能、碰撞更多可能。
 
  1. 团队需要本地部署
商业产品数据一般放在云端,考虑到安全性,国内大多数公司会将 API 托管在自己的服务器,有资源的大公司造轮子,没资源的小团队使用开源工具改造改造。
Eoapi 可以单机使用,数据存储到本地,也支持在自己的服务器远程数据源,你完全可以把数据掌握在自己手里。
 
  1. 更流畅的协作
Postman 功能比较垂直,单点功能设计很棒,但实际用于团队协作时功能操作逻辑不够连贯,也不够贴合国人开发协作场景。
国外的需求更偏向个体效率,而国内的需求更偏向于管理效率。如何在满足个体效率的同时贴合国内的管理效率,这是 Eoapi 想要找到的平衡。
我们不会说 Eoapi 是一款针对中国开发者研发的产品,我们的用户是所有开发者,不分国界。
 
我心目中真正好的 API 工具,远不止调试,还可以让开发者:
  • 更快地开发更规范、更稳定的 API
  • 在工具上记录的 API 数据发挥更大的价值
  • 协作更加地顺畅

我们更新了什么?

划重点:
  • Eoapi 上线插件广场
  • Eoapi 支持系统设置
  • 官方文档加入开发者文档
  • 开发者命令行工具 @eoapi/cli 上线
  • 支持 M1 内核 Mac 安装包
 
本月产品更新的主题是:一个插件的一生。
插件的【开发】->【调试】->【上传】->【上架】->【安装】->【使用】

插件系统

  1. 插件广场

我们可以通过插件广场在应用中搜索、管理插件,目前有官方提供的两个插件:
  • 导出 Swagger OpenAPI 格式插件
  • 将 Eoapi 接口数据同步到 Eolink
 
 
可以通过反馈联系插件开发者建议需求、反馈缺陷
 
 
  1. 开发者文档

开发者文档是开发者体验必不可少的一环,

Eoapi 文档准则:说人话、目的清晰、用词准确、图文并貌、最好有示例

 

ps:如果发现文档有误或者有改进建议,文档最下方可以提 Issue 或 Pull request 贡献此文档~

 
  1. 插件代码示例

仓库地址:https://github.com/eolinker/eoapi-extensions

代码示例是了解一个插件文件结构最快速的方式,目前支持生成的功能模板:
  • 导出插件
  • 将 API 数据一键更新到其他平台
 
  1. 开发者命令行工具

仓库地址:https://github.com/eolinker/eoapi-cli

我们可以通过命令行快速生成一个插件模板。
理论上来说,实现一个导出插件只需要:
  • 配置一个入口文件
  • 实现 API 数据转换的函数
除去函数实现时间,从配置到上传插件只需要 5 分钟。
 
 

API 概况

可以在概况页
  • 导出 API 数据
  • 将 API 推送到其他平台:需要安装相关的插件
后续计划和各大平台合作,因为产品起步期没有流量(弱弱地),合作推进会比较困难,所以先选择了 Eolink SaaS 产品进行合作,可以直接将 Eoapi 的接口同步到 Eolink 的某个项目。
相信随着用户数增加以及官方的努力,通过 API 数据打通的工具/平台会越来越多。
目前已知场景:
  • 低代码平台:从 API 文档得到返回值格式,绑定低代码组件的字段
  • API 网关:从 API 文档数据快速生成网关路由,减少手动录入的成本
  • API 监控平台
  • Mock 平台,例如 Mock Lab
  • 云服务总线 ESB、CSB
如果有其他场景,欢迎反馈,我们会及时响应(下面有微信群,当然上 github 提 Issue 更好~)
 
 
 

系统设置

通过系统设置做一些个人的个性化设置,以及填写插件的所需的配置项。
 
 
 

其他

# 号代表相应的 issue、pull request 编号

  • 插件广场不需要 Node 支持 #36
  • 测试历史时间显示为空&&测试页滚动条错误 #22
  • 拖动分组、API 无响应 #32
  • 删除 API 显示失败 #27
  • MacOS 系统 M1 内核支持

功能预告

6 月围绕协作功能、国际化实现功能拓展。
  • 导入插件核心支持 —— 导入 Swagger、Postman、Eolink 等平台数据
  • Mock —— 前端使用 Mock 协助联调
  • 远程数据源 —— 数据源部署在自己的服务器,多人协作
  • 多语言支持 —— 国际化支持

如果你对我们的开源项目感兴趣,可以来这里:

Github:

耗时半年,Eoapi 终于正式发布 API 工具的插件广场的更多相关文章

  1. Eoapi — 一个可拓展的开源 API 工具

    ​ 在社区中时常会出现"抱怨某商业产品越来越臃肿"的声音,API 工具也是如此.从最早期只做 API 调试的工具,到经过多年的演进后集成全面功能的"庞然大物", ...

  2. es2.4.6 java api 工具类

    网上找了很久没找到2.4.X 想要的java api 工具 自己写了一个,分享一下 导入所需的jar <!-- ElasticSearch begin --> <dependency ...

  3. JeePlus:API工具

    ylbtech-JeePlus:API工具 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 0. http://wiki.jeeplus.org/docs/sho ...

  4. highcharts js报表工具(报表插件)

    highcharts报表工具(报表插件.图表工具) highcharts效果在线演示(可查看源代码):  http://www.hcharts.cn/demo/index.php?p=56 Highc ...

  5. 常用的HTTP测试工具谷歌浏览器插件汇总

    网页的开发和测试时最常见的测试就是HTTP测试,作为曾经的测试人员在这方面还是略知一二的.其实做网页测试工作是非常繁琐的时期,有时候甚至是无聊重复的,如果没有网页测试工具的帮助的话,测试人员会越做越怀 ...

  6. 10个最好用的HTML/CSS 工具、插件和资料库

    大家在使用HTML/CSS开发项目的过程中,有使用过哪些工具,插件和库?下面介绍的10种HTML/CSS工具,插件和资料库,是国外程序员经常用到的. Firebug Lite FirebugLite ...

  7. 10最好用的Node.js工具、插件和资料库

    每一个称职的程序员都应该拥有一套极好的工具来提高自己的工作效率.在Livecoding.tv 上,那里的程序员分享了10个他们认为是最好用的工具.插件和资料库.据说,以下的这10个工具是使用Node. ...

  8. MongoDB管理工具的插件系统

    MongoDB管理工具  MongoCola的开发已经进入第三个年头了. 官方对于C#驱动的投入不够导致了很多东西都必须自己实现,但是不管怎么样,工具现在已经很强大了. 最近准备着手插件系统的开发,简 ...

  9. Android无线调试及手机设备与PC同屏工具——Chrome插件Vysor

    我们平时用手机调试时,经常是手不离机,以前可以下载个jar包能把手机屏映射到电脑桌面,但是运行比较卡,后来就放弃了,再之,手机接数据线有时也不太方便 ,pc与手机(连wifi)如处同一网段,就可以通过 ...

随机推荐

  1. PYthon窗口学习之用异步请求解决Treeview列表插入大量数据反应慢的解决办法

    当列表插入大量数据时,经常会等一会才显示数据 异步请求就将每一个插入语句并发运行,从而提高插入速度 代码: # 显示结果 def insert_result(table, info): def ins ...

  2. nginx之配置文件公用抽取

    nginx之配置文件公用抽取 因为某些原因,需要同时部署同一应用两个不同分支的代码,而配置文件存在较大重复,因此有此篇. 最近构建的过程中遇到了一些跟nginx配置相关的问题,记录下. 简单说下构建的 ...

  3. MySQL中MyISAM和InnoDB引擎的区别

    区别: 1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事 ...

  4. JavaScript脚本延迟加载的方式有哪些?

    延迟加载就是等页面加载完成之后再加载 JavaScript 文件. js 延迟加载有助于提高页面加载速度. 一般有以下几种方式: defer 属性: 给 js 脚本添加 defer 属性,这个属性会让 ...

  5. Blazor技术开发了一个访客管理系统

    简单介绍一下系统功能 该系统为了在疫情期间能很好管理访客登记做好风险管控,同时可以整合智能设备做到自动确认并跟踪访客的行动轨迹,该项目完全开源. 系统流程 访客可以同通过手机进行预注册,同时上传照片, ...

  6. 解决关于ARM_MATH数学库宏定义的报错

    昨天在建立新工程的时候发现加入含有ARM_MATH库的时候出现了宏定义报错. #error directive:"Define according the used Cortex core ...

  7. Conda安装及第一个py程序

    Conda安装及第一个py程序 安装Conda 下载安装 在Anaconda官网下载Anaconda 打开Conda安装程序 设置好安装目录(这个一定要记好,后边要用),比如我的目录就是 D:\Pro ...

  8. SpringMVC 解析(五)URI链接处理

    URI在网络请求中必不可少,Spring提供了一些工具类用于解析或者生成URL,比如根据参数生成GET的URL等.本文会对Spring MVC中的URI工具进行介绍,本文主要参考Spring官方文档. ...

  9. SSM阶段学习-mybatis第一天

    首先今天我尝试了使用IDEA软件链接数据库,创建数据库,创建表. 在pom文件下导入maven坐标 [<?xml version="1.0" encoding="U ...

  10. 企业级 Web 开发的挑战

    本文翻译自土牛Halil ibrahim Kalkan的<Mastering ABP Framework>,是系列翻译的起头,适合ABP开发人员或者想对ABP框架进行深入演进的准架构师. ...