跨平台开发一直都是一种理念,NSH是长桥自身从Gpui到Gpui-kit,再到Gpui Shell,最终结合实战经验,做出了集大成者了NSH(Native Shell)。我一直都说NSH好。究竟有多好。这次有人直接把6大UI框架拉进去一起开测

在这里插入图片描述

一、项目介绍

项目地址:
https://github.com/whiskerrs/benchmarks
选择了如下6个跨平台UI框架。

1.1 UI框架

使用了以下UI框架。

UI框架版本
React Native
NativeScript9.1.4
Flutter6.3.2
Exact1.8.2
Native Shell0.4
Whisker0.17

以上版本是我从项目文件里自己找的,可能不对,欢迎指正。

1.2 测试方法。

通过同一份readme.md让AI来一个一个实现。最后作者还记录了各种框架得实际花费

在本次基准测试中,使用 XCUITest 执行了完全相同的操作,并最大限度地减少测量误差。我们每个应用运行了 10 次测试,并在两轮之间调整顺序,以确保每个应用受到同等影响。
我们用的是 Shopify 的, http://mock.shop 但在测量时用回放服务器来保持服务器响应时间的一致性。

测量数据方面,我们使用 Xcode Instruments 的应用启动、活动监视器和 Hitches 数据。

数据如下

二、测试结果

我们从启动速度,内存,cpu占用,掉帧率,打包文件大小,成本花费各个方面比较。

2.1 启动速度

在这里插入图片描述
NativeShell最快,只有164ms,最慢的是NativeScript,Flutter确实也很优秀。

2.2 内存占用

在这里插入图片描述
启动内存占用上,NativeShell和Exact差不多。使用过程中也一直差不多。很优秀。
最多的又是NativeScript.

2.3 CPU占用

在这里插入图片描述
NativeShell又是第一。毫无悬念。这里Flutter似乎是最多了。这个其实能够解释。全自绘,本身就应该比直接使用原生组件会多一些。我个人理解。

2.4 掉帧率

在这里插入图片描述
又是无悬念,NativeSHell和Exact几乎没有掉帧。这里NativeScript和Whisker都又很明显的掉帧。Flutter也不错。

2.5二进制文件大小

在这里插入图片描述
这里最小的是Whisker。NativeShell不是最差,也不是最好。NativeScript似乎这次表现整体不太行啊。不够Native一点

2.6 成本

在这里插入图片描述
作者还特意贴出了使用成本。ReactNaitve不亏是老牌UI框架,AI就是学的多,懂得多。Flutter也一样有优势。这块其他几个新生得框架都是用了很多轮才搞定。

三、结论

毫无疑问,这次长桥展现了自己的超强技术实力,或者说Rust展示自己的舍我其谁的能力。这里美中不足,就是没有使用Gpui来做一个测测,到底自绘还是Shell好。还是有点让人期待

以上就是今天分享全部内容。感谢您的关注。我们下期再见。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐