首先立个盾:没有垃圾的框架,只有对性能不上心的开发者。
前段时间桌面端跨平台框架讨论得火热,大家都提供了非常多不同角度的看法,有生态、性能、上手难度、社区、薪资等等。刚好我这段时间在调研竞品,就测试了下大家常用的几款 API 工具软件的性能情况。测试对象除了我自己的产品Reqable外,还有 Fiddler Everywhere 、Charles 、Postman 和 Insomina 这四个,大家都是支持 Windows 、MacOS 和 Linux 这三大桌面端平台。非跨平台的应用不再此列,如有其他使用了不同框架的跨平台 API 工具类应用,欢迎告诉我,有空补上。
先说框架使用情况:
- Reqable:Flutter
- Fiddler Everywhere: Electron
- Charles: Java Swing
- Postman: Electron
- Insomina: Electron
目前只测试了 Mac 平台,结果如下:

以上结果可能存在一定的误差但应该不会很大,每个框架都写个 Hello World 来测会更准确和有说服力,所以这个结果大家参考下就行,别太较真哈。
测试细节:
- 测试机器:MacBook Pro 2017 款。
- 安装空间:从 DMG 安装包解压后直接看应用包大小。
- 启动时间:开启屏幕录制,然后启动待测应用。完成录屏后,打开视频编辑,计算每个应用从点击图标到启动后加载出来页面静止的帧时间差。
- 内存占用:启动应用后置于后台,在活动监视器中获取应用的内存使用情况。
结论:
- Flutter 在三个维度都表现优异,几乎是压倒性的优势。
- Java 的安装空间不大,但启动和内存这两个维度很糟糕。
- Electron 在三个维度都没有优势。但优化下还是能提升不少的,都是一样的框架,Insomina 有两个维度明显要好很多。