从 API 工具软件来看桌面端跨平台各大框架的性能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MegatronKing
V2EX    推广

从 API 工具软件来看桌面端跨平台各大框架的性能

  •  
  •   MegatronKing 2024-01-14 23:58:21 +08:00 4016 次点击
    这是一个创建于 637 天前的主题,其中的信息可能已经有所展或是发生改变。

    首先立个盾:没有垃圾的框架,只有对性能不上心的开发者。

    前段时间桌面端跨平台框架讨论得火热,大家都提供了非常多不同角度的看法,有生态、性能、上手难度、社区、薪资等等。刚好我这段时间在调研竞品,就测试了下大家常用的几款 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 有两个维度明显要好很多。
    17 条回复    2024-04-08 16:05:41 +08:00
    hanai
        1
    hanai  
       2024-01-15 00:38:14 +08:00 via iPhone
    Electron 现在都要近 0.5GB 了…
    wheat0r
        2
    wheat0r  
       2024-01-15 00:52:11 +08:00
    Electron 发挥稳定
    GPLer
        3
    GPLer  
       2024-01-15 00:57:59 +08:00 via Android
    试试 Qt ?
    kneo
        4
    kneo  
       2024-01-15 01:17:52 +08:00 via Android   5
    我发现我学会了看标题猜作者。
    jiangzm
        5
    jiangzm  
       2024-01-15 01:28:24 +08:00
    测的很好,下次别测了
    SayHelloHi
        6
    SayHelloHi  
       2024-01-15 08:07:49 +08:00
    Electron 虽然体积大 但是只要能挣到钱就行

    ---

    以前特不喜欢 Electron 主要原因 体积大

    自从有一次写了一个 N 简单的 Electron App 挣到了 觉得 Electron 真香呀~~
    murmur
        7
    murmur  
       2024-01-15 08:42:44 +08:00
    postman 启动不就 4 秒多么,主要是联网同步数据慢
    gongxuanzhang
        8
    gongxuanzhang  
       2024-01-15 09:29:28 +08:00
    最近用了 apifox 感觉还挺香的
    studycode
        9
    studycode  
       2024-01-15 09:31:44 +08:00
    @SayHelloHi 老哥,app 叫啥名,我去助个力~
    mqllin
        10
    mqllin  
       2024-01-15 09:50:58 +08:00
    下了一个 Reqable 启动是真的快
    MegatronKing
        11
    MegatronKing  
    OP
       2024-01-15 10:02:58 +08:00
    @GPLer #3 我目前没有看到 QT 开发的相关的跨平台 API 工具软件,如果的话有请告诉我。
    MegatronKing
        12
    MegatronKing  
    OP
       2024-01-15 10:06:05 +08:00
    @murmur #7 Postman 官网下的最新版本,第一次启动后选择不登录使用本地项目,关闭后再开始测试启动时间,没有缓存数据也不会联网同步数据。其他的软件也是这样操作,尽量公平一点,移除网络因素。另外,不同的软件版本,不同的设备测试出来的结果可能不大相同哦。
    lstz
        13
    lstz  
       2024-01-15 10:43:00 +08:00 via iPhone
    楼主的软件能看出确实下了很多心思,这篇文章对比效果是很有说服力的。

    但拉踩可能会让路人反感,建议去掉第一句,软件是否垃圾,并不只取决于性能,还有功能性,交互性。在内存硬盘白菜价的今天,用户不会特别感知性能这方面,除非是特别特别差
    dragondove
        14
    dragondove  
       2024-01-15 13:40:25 +08:00
    这个对比不是很能说明问题,这几个维度并不能直接反应软件是否流畅或者性能是否强悍。
    我换个比对的例子,普通的 java 应用和 python 应用对比,这三项 java 都比不过 python ,但是我相信不会有人说 python 比 java 性能好
    cvbnt
        15
    cvbnt  
       2024-01-15 18:01:30 +08:00 via Android
    还有个跨平台的叫 bruno 也挺快,可能因为东西比较少
    conglovely
        16
    conglovely  
       2024-01-16 10:04:07 +08:00
    @mqllin 感谢,用上了
    laters
        17
    laters  
       2024-04-08 16:05:41 +08:00
    flutter.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2911 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 14:13 PVG 22:13 LAX 07:13 JFK 10:13
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86