• 请不要在回答技术问题时复制粘贴 AI 生成的内容
opentrade
V2EX  ›  程序员

Rust 桌面程序选 Flutter 还是 Tauri?

  •  7
     
  •   opentrade · May 16, 2022 · 24297 views
    This topic created in 1473 days ago, the information mentioned may be changed or developed.

    近期我们开源了 RustDesk 服务端以及移动端源代码,目前正计划将原来 Sciter 桌面端迁移到新的 UI 框架,有点在 Fluter 与 Tauri 之前犹豫,我个人比较倾向于 Tauri ,刚刚发起一个问卷调查,有兴趣可以参入一下,非常感谢。

    https://github.com/rustdesk/rustdesk/discussions/533

    Supplement 1  ·  May 18, 2022
    补充一项为这个迁移项目做的招聘
    https://www.v2ex.com/t/853682
    139 replies    2023-07-27 16:54:05 +08:00
    1  2  
    opentrade
        101
    opentrade  
    OP
       May 17, 2022 via Android
    @xieren58 这里不都是翻墙吗
    meetcw
        102
    meetcw  
       May 17, 2022   ❤️ 1
    @lijy91 #55 是的,没想到能在 v2 碰到项目维护者! leanflutter 里的包确实很好用,不过感觉有些包在 Linux 下还不是很完善。期待后续的发展!!
    hst001
        103
    hst001  
       May 17, 2022
    如果要求系统覆盖率的商业软件,这两个目前都不能考虑。
    timpaik
        104
    timpaik  
       May 17, 2022 via Android
    都不太行,flutter 是体积比 tauri/你现在的大很多,tauri 是要 webview2 运行时,用本地 chrome 依赖太多了。有需求的话建议看看 skia 绑定吧。
    opentrade
        105
    opentrade  
    OP
       May 17, 2022 via Android
    @hst001 的确很头疼,又要考虑覆盖,又要考虑开源生态
    mxT52CRuqR6o5
        106
    mxT52CRuqR6o5  
       May 17, 2022
    如果 flutter 谷歌不撒手不管的话,应该是很有前途的
    像 flutter 这种技术方案的框架,必须有大厂持续投入才能活下去,很难想象仅靠社区能持续维护下去
    bfjm
        107
    bfjm  
       May 17, 2022 via Android
    为啥不考虑一下 imgui 这种,跨平台,rust 也能用
    opentrade
        108
    opentrade  
    OP
       May 17, 2022
    @bfjm 怕从 Sciter 跳到另外一个坑
    opentrade
        109
    opentrade  
    OP
       May 17, 2022
    @mxT52CRuqR6o5 的确,所以选 Flutter ,选 Tauri ,一是基于 Rust 生态考虑,二是因为不是从头搞起,从头搞起一个开源公司很难撑起来,就像 Sciter 的局面。
    openmynet
        110
    openmynet  
       May 17, 2022
    选 Flutter ,可以看下 nativeshell 这个 crate, 需要自定义的插件可以直接使用 rust 来写
    findex
        111
    findex  
       May 17, 2022
    怎么又有人回来问这个问题了。上次有个老哥,就是用 rust+tauri 开发的 macos 桌面程序还发到了苹果应用商店里了。
    hronro
        112
    hronro  
       May 17, 2022
    如果追求稳,那就还是 Electron 吧。

    说起来这个时间点真是比较尴尬,Rust 目前确实没有什么能打的 GUI 框架。

    我个人倒是比较期待 Nathan Sobo 目前在做的一个受 Flutter 启发,全 GPU 渲染的 GUI 框架(名字貌似叫 GPUI ?)不过这个框架目前应该还处于比较早期的阶段,所以目前甚至没有开源。前段时间大火的 Warp 终端,应该也是用的这个框架。
    coolmenu
        113
    coolmenu  
       May 18, 2022
    如果是生产项目,目前 Electron 吧,上线优先啦。
    likeccpo
        114
    likeccpo  
       May 18, 2022
    vue + tauri 怎么样,我们也是刚开始写,领导给的这个方案
    opentrade
        115
    opentrade  
    OP
       May 18, 2022
    @likeccpo 领导都拍了,也不用多想
    lufengd3
        116
    lufengd3  
       May 18, 2022   ❤️ 1
    @opentrade 楼上哥们儿说了,windows 上依赖 webview2 ,如果没有的话会在安装 tarui 程序的时候提示,类似缺少 .Net Framework 那种,用户确认下载安装完成就 OK 了

    https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section
    opentrade
        117
    opentrade  
    OP
       May 18, 2022
    @lufengd3 这倒也可以接受,总的用发展的眼光看问题不是
    lufengd3
        118
    lufengd3  
       May 18, 2022
    之前简单了解过 Sciter 项目,佩服作者,渲染引擎 Script 引擎全都自己写,很硬核,但对于 Sciter 用户来说作者就是瓶颈,老项目继续用着维护着还行,年轻有活力的项目还是早点迁出来更靠谱

    Tauri Flutter Electron QT CEF 这些都是很好的方案,特点不同,看你们最需要的能力是什么。
    opentrade
        119
    opentrade  
    OP
       May 18, 2022
    @opentrade 只是从用户角度,加上这个,对用户体验大大的打了折扣,尤其不懂电脑的用户。
    opentrade
        120
    opentrade  
    OP
       May 18, 2022
    @lufengd3 即使是我,每次看到缺少.net 这种提示,我也很烦。
    opentrade
        121
    opentrade  
    OP
       May 18, 2022
    @lufengd3 的确,作者就是最大的 bug ,团队没搞起来,这么大的年纪,也不会再去融资发展了。
    lufengd3
        122
    lufengd3  
       May 18, 2022
    @opentrade 是,这个弹窗会让非技术人员有点懵逼,虽然下一步下一步就能搞定😂
    iamzuoxinyu
        123
    iamzuoxinyu  
       May 18, 2022
    说真的,你们真觉得从 sciter 迁移到 webview 的方案能够复用原有的 web 端代码么?看了下原有`ui`里的代码,恐怕把 tis 的代码魔改回标准 es 代码的工作量不亚于重写一遍吧。
    iamzuoxinyu
        126
    iamzuoxinyu  
       May 18, 2022
    @opentrade 噢,原来已经做了…
    Hattle
        127
    Hattle  
       May 18, 2022   ❤️ 1
    @opentrade tauri 的官方文档里是有将 webview2 打包进应用里使用固定版本的教程的,不过这样的话安装包体积就会变得很大
    https://tauri.studio/v1/guides/distribution/windows
    opentrade
        128
    opentrade  
    OP
       May 18, 2022
    @Hattle 可以针对 win7 单独打包
    twing37
        129
    twing37  
       May 18, 2022
    站 rust + flutter client 一票. 这套东西 clone 过完整版的 discord. ffi 很舒坦
    iamzuoxinyu
        130
    iamzuoxinyu  
       May 20, 2022   ❤️ 1
    @opentrade 又看了一下,感觉还是有大坑…… sciter 自己造了一套 Reactor 框架,跟原生的 React 虽然像,但还是有太多差别,而且 css/html 的语法也是有差异,修改起来是纯体力活。如果要迁移到 webview ,迟早还是要用原生 js 重写一遍。
    iamzuoxinyu
        131
    iamzuoxinyu  
       May 20, 2022
    @opentrade 另外就是视频渲染方面的,如果用 canvas(2d/gl)或者 MSE 代替 sciter 的<video>实现,不知道有没有性能差距。
    chord
        132
    chord  
       May 20, 2022
    我一直认为远程软件应该追求稳定性、低占用、高兼容,正如国内环境,很多办公电脑依然是 WIN7 系统,甚至是老 WIN7 ,webview2 提供是在线和离线的安装方式,离线的话会导致包体积过大不方便传输,在线的话是依赖微软的服务器下载(环境你懂的),所以如果只是想追求小众化那应该考虑新的技术才会有新的噱头,如果是想做大众软件,应该考虑兼容性问题
    opentrade
        133
    opentrade  
    OP
       May 20, 2022
    @iamzuoxinyu 谢谢,看到了你在 github discusssion 上的回复,respect !
    opentrade
        134
    opentrade  
    OP
       May 20, 2022
    @chord 是的,也是我头疼的问题。
    ksedz
        135
    ksedz  
       May 20, 2022
    slint-ui 也是 GPL + 商业授权的,如果以后要商业化可能有一定障碍,慎用。
    iDevmonkey
        136
    iDevmonkey  
       May 24, 2022
    其实桌面端跨平台,.net core 也算一个不错的选择,甚至可以跨移动端;不过对于 op 来说还有迁移成本的考虑就是了;我个人现在是做 flutter 移动端开发,flutter 在 web 和桌面端还很初级;之前用.net core 基于 xamarin 写跨端项目,跨桌面端和移动端,使用 C#语言,使用起来还是不错的,而且性能有保障。
    kt080921
        137
    kt080921  
       Jul 11, 2022
    @opentrade 所以你们最终选了个啥?
    DemoJameson
        138
    DemoJameson  
       Aug 11, 2022   ❤️ 1
    aR11H34U0m5bK2ox
        139
    aR11H34U0m5bK2ox  
       Jul 27, 2023
    @MakHoCheung MAUI 不敢用,太新了,害怕又成一个坑,还有那个 blazor 也是,不敢用...............wpf yyds............
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   946 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 466ea39e · 82ms · UTC 20:24 · PVG 04:24 · LAX 13:24 · JFK 16:24
    ♥ Do have faith in what you're doing.