Rust 的 GUI 框架生态概览

本文比较全面比较了目前主流的 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 desktop & flutter-rs: 不够成熟
  • Relm: Gtk 衍生,外观看着不错
  • Godot: 老旧笨拙
  • Unity: 老旧笨拙
  • Azul: 不够成熟
  • Conrod: 不够成熟
  • Druid: 不够成熟
  • https://areweguiyet.com
  • libui: 不够成熟
  • Platform specific libraries: 不提供跨平台支持
  • ImGUI: 不够成熟
  • Sciter: 收费项目
  • Web broswer communicating with a Rust local server: 老旧笨拙, 不安全? (DNS 重新绑定攻击) 以及不支持原生功能,如任务栏图标

最有希望的似乎是 Flutter。

排名

研究结果排名如下, 标准就是不让狗屎上榜:

  1. Electron + Neon
  2. Rust program + Qt dynamic 用于开发,Rust Program + Qt static 用于部署
  3. Gtk, Cpp program + Rust lib static + Qt static, Cpp program + Rust lib static + Qt dynamic, Electron + NodeJS Cpp Addon
  4. Electron + FFI

欢迎关注公众号“红薯胡说” 参与 Rust GUI 框架的投票

Rust 的 GUI 框架生态概览_第1张图片

转载于:https://my.oschina.net/javayou/blog/3097240

你可能感兴趣的:(Rust 的 GUI 框架生态概览)