本文比较全面比较了目前主流的 Rust 的 GUI 框架的表现。其中 ++ 表示非常好,-- 表示非常差,而 o 表示处于平均水平。
参与对比的框架共有 8 个,详细的比较结果如下:
| |
Electron + Neon |
Electron + FFI |
Electron + NodeJS Cpp Addon |
Rust Program + Qt static |
Rust program + Qt dynamic |
Cpp program + Rust lib static + Qt static |
Cpp program + Rust lib static + Qt dynamic |
Gtk |
| 易于构建 |
++ |
++ |
+ |
-- |
+ |
o |
+ |
+ |
| 构建性能 |
++ |
++ |
++ |
-- |
++ |
-- |
++ |
o |
| 打包体积 |
- |
- |
- |
++ |
+ |
++ |
+ |
o |
| 易于部署 |
++ |
++ |
++ |
+ |
o |
+ |
o |
- |
| Rust互操作性 |
+ |
o |
- |
+ |
+ |
+ |
+ |
++ |
| 开发速度 |
++ |
+ |
- |
+ |
-- |
+ |
-- |
- |
| 内存占用 |
o |
o |
o |
o |
o |
o |
o |
+ |
| CPU占用 |
- |
- |
- |
++ |
++ |
++ |
++ |
++ |
| 安全性 |
o |
o |
o |
+ |
+ |
+ |
+ |
+ |
| 外观 |
++ |
++ |
++ |
+ |
+ |
+ |
+ |
o |
| 响应式UI |
++ |
++ |
++ |
o |
o |
o |
o |
- |
| 框架稳定性 |
+ |
+ |
+ |
-- |
-- |
-- |
-- |
- |
| 平台支持 |
+ |
+ |
+ |
++ |
++ |
++ |
++ |
+ |
| 内建功能 |
++ |
++ |
++ |
++ |
++ |
++ |
++ |
o |
| 第三方组件 |
++ |
++ |
++ |
+ |
+ |
+ |
+ |
- |
| 调试 |
++ |
++ |
++ |
o |
o |
o |
o |
o |
| 测试 |
++ |
++ |
++ |
o |
o |
o |
o |
o |
| 社区 |
++ |
++ |
++ |
+ |
+ |
+ |
+ |
- |
| 许可证 |
++ |
++ |
++ |
o |
o |
o |
o |
++ |
未参与测试的框架
以下框架没有在此次测试的范围之内,原因是我们觉得这些框架还没有足够成熟:
最有希望的似乎是 Flutter。
排名
研究结果排名如下, 标准就是不让狗屎上榜:
- Electron + Neon
- Rust program + Qt dynamic 用于开发,Rust Program + Qt static 用于部署
- Gtk, Cpp program + Rust lib static + Qt static, Cpp program + Rust lib static + Qt dynamic, Electron + NodeJS Cpp Addon
- Electron + FFI
欢迎关注公众号“红薯胡说” 参与 Rust GUI 框架的投票
![]()