百闻不如一试,网络上铺天盖地的文章,各说各的好,其实这样很容易误导我们这些想采用他们私有化的团队,apipost和apifox都是我们想采用私有化的API管理工具,但是这几天搜了一圈,感觉文章参差不齐,没法参考。
今天我特意做了个实验,团队20人分别对两款软件进行试用,最后进行打分,打分高的我们将考虑采用他们的私有化产品。我们打分的维度不一样,工具本身的目的是为了提高效率,提高生产效率,不然工具的价值在哪里。我们主要从后端的开发效率,前端跟后端的协作,接口自动化测试,团队管理4维度去看待这个问题。结果得出的投票结果如下:
结果很显而易见,站在中立的维度,排除两家公司的各自的粉丝,我们从一家公司员工选择权的维度,我们最后选择了投票70%的apipost。
后来我分析了一下,其实两家公司的产品各自都有自己的优势,apifox功能挺多的,多的有的我们都不认识不怎么用,这就违背了产品设计的基本原则;而apipost总能抓住核心,抓住高频,注重开发在使用过程中的流程。我给大家列举一下。
一、快速调试
Apipost:支持
对于一个后端来说,最常用的就是调试了,所以能够快速调试是很重要的,这点apipost做到了,这是基本原则:
Apifox:不支持
但apifox进来想调试,必须的先新建文档,之后才能进行调试。
二、后端和前端接口联调
Apipost:注重前后端联调对接
apipost在调试完成后可以一键生成文档,并分享给前端,这个就很香。很注重中国程序员的对接工作,调试完接口,后端觉得没有问题,就可以快速分享给前端对接。主要分享出去的文档内容也是大部分程序员和很喜欢的
分享之后再网页打开如下:
整个工作流是非常丝滑的,2步骤就能完成分享。从设计调试到分享给前端,还可以支持密码查看、有效期等。
Apifox:没有前后端协作联调(更注重安全,但这加个密码不就能解决吗)
在apifox里面,我们找了好久才找到分享的,对于这么高频的分享前后端对接放得这么隐蔽难找,我们后端很头疼;其次找到了还不能立马分享,还得新建、选择分享范围等等,一堆操作下来得七八步骤。
所以这个是很反人性的,特别是在中国研发圈,这个算下反人性设计,特别是工期很赶很着急的时候。
三、接口状态标识
开发中我们都很注重接口状态标注,在这点上apipost和apifox都做到了,但是apipost能够支持自定义;apifox不支持,做的不够人性和灵活。
Apipost:支持自定义接口状态
Apifox:不支持自定义
四、协作
Apipost:支持协作
apipost通过webscket推送实现了协作数据的实时同步,还可以看到协作日志,这个对于追溯问题就很重要,还能看到协作人员是否在线。还支持锁定功能,听说还支持冲突解决机制,这个思想我觉得蛮牛的。
Apifox:不支持协作
在apifox里面,协作同步数据主要靠刷新,跟网页一样,这个其实体验不太好,也看不到协作人员都谁在线,更没有协作日志,如果谁改了我的接口我也不知道,我觉得做的还是太简单了。
四、团队/项目的管理
Apipost:团队项目团队做的比较全
对于企业或者团队来说,希望每个项目组成员都是隔离的,彼此互相不干扰,这点是我们选择一家一款API管理工具的基本点,apipost做到了,他们做了一个管理中心:
其中还有对API的统计这个很重要
而对于整个团队的管理,也不是不可或缺的,这点apipost也做到了。
Apifox:简单、不够安全
团队、项目这种对于一个公司来说是很重要的,但是apifox一个弹框就解决了,做的太过于简单,不够安全。
而且没有项目级别的管理,做的不够细致,风险高也不灵活。
总结:
整体用下来,我们感觉apipost更符合一个公司或者团队的开发需要,真正的提高了研发效率。今天后端同事还说,apipost对后端做了好多减轻负担的功能,比如全局参数:不用重复填写重复参数;参数描述库:可以自能生成描述不用每次都填写;怕响应看不全还支持上下屏。所以我觉得两家公司整体使用功能下来,还是apipost更胜一筹,细节做的更好,真正为企业、团队提高生产效率。