接口文档工具横向评测

评测还在继续…

评测对象

评测维度

  • 编写方式
  • UI
  • 与仓库关联
  • 监控仓库状态
  • 导出PDF
  • markdown
  • 兼容性
  • mock
  • 接口调试
  • 开源
  • 自动化测试
  • 插件

评测方式

通过以下方式得出评测结论

  • 网站简介
  • 提交频率
  • 更新频率
  • 产品示例
  • 舆论口碑

注意:因为没有精力一一部署去测试,所以该评测在一定程度上不够客观。

评测结果

APIDOCYAPINEI
录入接口方式
注释/在线编辑在线编辑在线编辑
UI/交互二次开发自带自带
与仓库关联GIT/SVNNN
监控仓库状态YNN
导出PDFhtml,markdown,jsonPDF
markdownYNN
数据兼容性postmanpostman/swagger/json貌似不支持导入
mock根据接口示例生成支持可编程mock支持可编程mock
接口调试Y 需要是可以访问apidoc服务器的机器才可以YY
自动化测试NYN
开源YYY
插件需要自行二次开发Y
社区维护现在仅有我们自己维护持续维护还有维护

评测总结

这里仅是根据上面数据的个人总结

  • 关于录入接口的方式
  • apidoc更全面更方便,更符合开发流程
  • YApi也可以,值得一提的是YApi支持的导入方式比较多,从某个角度来说也可以通过二次开发实现其他的录入方式
  • NEI仅支持在线录入方式
  • UI/交互
  • apidoc完全就是文档管理的界面交互,因为完全是公司的开发,很多细节还有待提高
  • YApi界面也还可以,满足基本需要
  • NEI的页面交互更像是一个项目管理的交互,而不是针对接口的
  • 与代码仓库的关系
  • 除了apidoc其他的平台都没有直接和代码仓库产生联系
  • YApi可以通过插件的方式,自己开发定时任务或者自己二次开发来跟仓库产生联系
  • 导入导出
  • apidoc支持基本的pdf导出和postman及注释文件的导入,正在规划对swagger的支持
  • YApi的导入导出支持的格式比较多
  • NEI仅支持导出PDF
  • mock
  • apidoc仅支持对文档中示例的基本数据mock
  • YApi支持可编程的mock
  • NEI在mock方面支持的非常好
  • 测试
  • apidoc仅支持数据结果的查看
  • YApi支持自动化测试
  • NEI支持单个或批量的接口测试
  • 其他功能
  • apidoc支持markdown的文档输入方式,除了写接口文档,也支持添加技术文档,甚至可以用来记笔记
  • YApi提供二次开发插件的功能,可根据自己的需要自己开发功能
  • NEI仅有当前提供的功能,因为是开源也可以二次开发,但是社区对二次开发的支持度不高
  • 社区维护
  • apidoc因为是个引擎,所以并没有什么社区维护,仅是根据当前的引擎做需要的开发
  • YApi现在的社区相对活跃,官方代码提交的频率也比较高
  • NEI的社区不是很活跃,代码提交频率也不是很高了,不知道会不会后面就没人维护了

写在最后

如果诉求是对文档进行维护和管理,当前内部开发的apidoc应该是首选,潜力也比较大。
但是要是说对接口本身和接口相关的体系进行管理,从外部开源的项目来看,NEI更优秀。
YApi虽然在两个方面都没有达到最好,但因为对插件开发的支持,以及灵活性,并不输NEI。
所以,如果需求只是对接口文档的管理,建议使用apidoc,同样的投入会得到更高的效果。
但是要对接口这边做全局的管理,可以用YApi+apidoc的方式。
下面提出一个思路以供参考:

  • 从代码中的注释生成文档
  • 然后为apidoc增加一个swagger的文档输出服务
  • 再通过一个定时同步服务,将apidoc输出的swagger直接同步给YApi
  • 这样,所有接口的文档部分由apidoc管理同步给YApi,接口的测试和MOCK能力由Yapi来处理