Flutter 与 Tauri 选型讨论总结

不久前我们在 GitHub 发了一个Flutter 与 Tauri 的选型讨论,很高兴 Tauri 作者与 flutter_rust_bridge 作者都有深度参入。最后投票得分 Tauri 更高,虽然我们的初衷也是 Tauri,但是基于 IPC 问题,我们还是暂时选择 Flutter。我在这里对讨论做个总结,也方便大家日后选型。

支持 Tauri 的观点:

  • Tauri 生态系统更丰富,拥有 html / css / js 海量资源
  • Tauri 社区很棒,作为商业开源创业公司,更加积极处理用户反馈
  • Tauri 基于浏览器内核,桌面环境下比 Flutter 更加成熟
  • Tauri 更简单,构建简单,学习难度低,更容易吸收贡献者
  • 与 Rust 集成更加简单,甚至调用 Rust 异步函数(我没试过)
  • 编译后应用更小

反对 Tauri 的观点:

  • IPC 性能一般(Tauri 作者在讨论里提到过丢弃共享内存支持的原因,以及 IPC 面临的问题,以及未来的优化,但是貌似后来他删掉了)
  • 由于使用浏览器内核,内存用的多
  • 不同平台浏览器版本匹配问题
  • 没有安装 WebView 的 Win7 就比较费劲了,可以自己打个大包,也可以在线安装(国内网络场景下),皆不大友好
  • 没有移动版本,作者提到今年要推出移动版本,据说是基于 EGUI 构建,但是要到稳定版本还有很长的路

支持 Flutter 的观点:

  • 生态系统也很丰富
  • 全平台
  • FFI 性能好
  • 大厂支持

反对 Flutter 的观点:

  • 不支持 32 位 Windows 系统,Google 已经明确声明不予支持
  • 构建调试,以及与Rust的集成要复杂一些
  • 构建后的包略大,Windows 下一个 hello world 20MB, zip 压缩后 8.36MB,Linux 下也差不多
  • 没有静态链接库
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/5051711/blog/5549105