兄弟们, 2024 年,跨平台开发桌面软件选哪个框架? Electron 和 Tauri 怎么选呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
inSpring
V2EX    程序员

兄弟们, 2024 年,跨平台开发桌面软件选哪个框架? Electron 和 Tauri 怎么选呢?

  •  
  •   inSpring 2024-03-29 09:09:50 +08:00 9814 次点击
    这是一个创建于 627 天前的主题,其中的信息可能已经有所发展或是发生改变。
    59 条回复    2024-04-03 11:21:10 +08:00
    iamherrylok1
        1
    iamherrylok1  
       2024-03-29 09:16:01 +08:00   2
    Avalonia
    layxy
        2
    layxy  
       2024-03-29 09:21:58 +08:00
    这个讨论有很多,qt,compose-jb,electron,tauri,wails,energy,fyne,lazarus,flutter,我觉得你都考虑 Electron 就不要用 Tauri 了,Tauri 需要 webview,不同系统的 webview 不同,兼容性也是个问题(虽然大部分都没问题,但是会增加测试工作量)
    ybz
        3
    ybz  
       2024-03-29 09:45:44 +08:00   4
    Flutter !!!
    wheat0r
        4
    wheat0r  
       2024-03-29 09:49:13 +08:00   4
    省事用 Electron ,省电用 Tauri
    PTLin
        5
    PTLin  
       2024-03-29 09:56:32 +08:00
    反正最麻烦的前端部分也是复用的,每个都写写试试呗
    ExplodingDragon
        6
    ExplodingDragon  
       2024-03-29 09:58:41 +08:00
    作为开发者肯定 Electron,不要适配乱七八糟的内核,作为使用者肯定推荐 Tauri 。
    tanranran
        7
    tanranran  
    2024-03-29 09:59:14 +08:00
    参考业内大厂,Electron 遥遥领先
    binaryify
        8
    binaryify  
       2024-03-29 10:00:53 +08:00
    无脑 Electron, Tauri 有坑
    amiaaaz
        9
    amiaaaz  
       2024-03-29 10:02:52 +08:00   11
    Electron 吧,助力全球变暖
    sworld233
        10
    sworld233  
       2024-03-29 10:09:46 +08:00
    我选择了 Tauri
    zcl0621
        11
    zcl0621  
       2024-03-29 10:09:58 +08:00
    Electron 轮子多
    SunDShuai9797
        12
    SunDShuai9797  
       2024-03-29 10:50:30 +08:00
    我司用的 Electron
    lulinchuanllc
        13
    lulinchuanllc  
       2024-03-29 11:11:52 +08:00
    如果你有很多和系统相关的功能,选 electron ,如果只是业务性质的,比如就算是个网页,也能满足,选 tauri
    nong99
        14
    nong99  
       2024-03-29 11:14:56 +08:00 via iPhone
    Delphi/Lazarus 系列
    sloknyyz
        15
    sloknyyz  
       2024-03-29 11:19:33 +08:00
    无脑 electron
    lstz
        16
    lstz  
       2024-03-29 11:21:08 +08:00 via Android   1
    我以前用 electron ,但后来发现我并不需要那么多桌面的功能

    而且 electron 又笨重又慢,不考虑了
    xiaoguaiwu
        17
    xiaoguaiwu  
       2024-03-29 11:22:54 +08:00
    Rust 要是精通可以写底层的话,推荐 Tauri ,Electron 生态好但是就是太大了,动不动 100M
    callmesmc
        18
    callmesmc  
       2024-03-29 11:27:07 +08:00 via iPhone   3
    肯定是 electron 啊,好多 electron 支持的系统 api tauri 都不支持,而且感觉 tauri 很不重视这些,比如 electron 在 macOS 上可以移动红绿灯位置,tauri 就不行,这个 issue 还被直接关掉了;像 macOS 的毛玻璃效果,win11 的 mica 效果,electron 都是很快就跟进了,tauri 就是没有
    twing37
        19
    twing37  
       2024-03-29 11:32:40 +08:00
    #16 是对的.看到你选的这两个,我就不推荐 flutter 了 :)
    hanaTsuk1
        20
    hanaTsuk1  
       2024-03-29 11:56:59 +08:00
    tauri
    subframe75361
        21
    subframe75361  
       2024-03-29 12:04:42 +08:00 via Android
    pwa
    jeesk
        22
    jeesk  
       2024-03-29 12:16:05 +08:00
    稳定最重要
    drymonfidelia
        23
    drymonfidelia  
       2024-03-29 12:18:23 +08:00
    Tauri 坑超级多,千万别
    /t/1013792
    我不知道在这上面浪费了多少时间,最后很多问题没办法解决,只好放弃了
    drymonfidelia
        24
    drymonfidelia  
       2024-03-29 12:20:08 +08:00
    当然如果你是做着玩的,那没问题
    如果生产的话,现在还是别用 Tauri 了
    xieren58
        25
    xieren58  
       2024-03-29 12:35:05 +08:00
    zeroDev
        26
    zeroDev  
       2024-03-29 12:41:20 +08:00   2
    @drymonfidelia #23 可能不加你这篇帖子还好,加了后感觉你的论点完全没了说服力(
    akjarjash
        27
    akjarjash  
       2024-03-29 13:03:14 +08:00
    @iamherrylok1 #1 这个不行,还得再发展个五年
    R4rvZ6agNVWr56V0
        28
    R4rvZ6agNVWr56V0  
       2024-03-29 13:09:51 +08:00
    Electron 吧,助力能源行业兴旺
    bianhui
        29
    bianhui  
       2024-03-29 13:16:52 +08:00
    我都开发过,实话实说,纯体验,没觉得 tauri 好,纯代码编写上也都差不多。考虑的完整度和兼容性,electron 实在好不过了,至少当你遇到难关的时候,你可以轻松在社区找到好办法。
        30
    wanguorui123  
       2024-03-29 13:25:47 +08:00
    Electron 套壳
    mandex
        31
    mandex  
       2024-03-29 14:11:07 +08:00
    Electron 吧,感觉没啥问题,我用 Electron 做了一个项目,三四年了,一直在维护,感觉挺好的。
    简单好写,大多数遇到的问题都能找到答案,nodejs 比 rust 什么的简单多了。
    laters
        32
    laters  
       2024-03-29 14:26:27 +08:00
    Electron 或 flutter
    asuraa
        33
    asuraa  
       2024-03-29 14:31:02 +08:00   1
    我用的 mfc 不复杂 拖拉一下搞定。。
    复杂的用 qt
    minami
        34
    minami  
       2024-03-29 14:53:07 +08:00
    @callmesmc 关掉可以理解,因为 tauri 的用户肯定是会搞原生的,他们估计认为你们直接用原生接口搞定就可以了
    luoway
        35
    luoway  
       2024-03-29 15:31:04 +08:00   1
    商用产品上 Electron ,不求有功但求无过。
    个人项目上 Tauri
    海外应用上 Flutter
    国内应用上 uni-app (支持小程序)、鸿蒙 ArkUI-X (不支持小程序)
    luoway
        36
    luoway  
       2024-03-29 15:33:29 +08:00
    @luoway #35 uni-app 、ArkUI-X 似乎不适用桌面开发
    wangtian2020
        37
    wangtian2020  
       2024-03-29 16:04:50 +08:00
    会哪个用哪个
    renmu
        38
    renmu  
       2024-03-29 16:07:34 +08:00 via Android
    只能说不要考虑兼容性真的太爽了
    wpzz
        39
    wpzz  
       2024-03-29 16:41:22 +08:00
    unco020511
        40
    unco020511  
       2024-03-29 17:25:30 +08:00
    我选择 flutter
    xwwsxp
        41
    xwwsxp  
       2024-03-29 17:28:58 +08:00
    @xiaoguaiwu 前端这么注重性能的吗?后端都是以 GB 、TB 、PB 为单位的。
    DICK23
        42
    DICK23  
       2024-03-29 17:32:04 +08:00
    要快速上线当然无脑 electron ,自己玩可以考虑 Tauri.
    flyingfz
        43
    flyingfz  
       2024-03-29 18:00:17 +08:00   1
    在另外一个帖子里, 我也推荐了这个:
    https://neutralino.js.org/docs/

    貌似介绍这个框架的很少。 给大家推荐下,理由如下:

    1. 前端 UI 的开发体验类似 electron
    2. 后端业务逻辑,可用任意语言。(后端称为 extension ,通过 websocket 与主进程双向通讯)
    3. 打包的体积小 (最简单的 demo, 6M 左右)
    4. 运行时的资源要求较低 (大概 20 多 M )
    ysc3839
        44
    ysc3839  
       2024-03-29 18:02:23 +08:00 via Android
    如果只是前端打包,Electron 和 Tauri 都可以。
    如果要用到只能在 Node.js 下运行的库,那就 Electron 。否则如果你有能力用 Rust 写代码,可以选 Tauri 。
    opentrade
        45
    opentrade  
       2024-03-29 18:19:14 +08:00
    Flutter 到现在还是无数坑,何况 Tauri ,你看到的都是看起来很美
    Akkuman
        46
    Akkuman  
       2024-03-29 20:10:57 +08:00 via Android
    electron 的话,可以关注下这个项目
    https://github.com/win32ss/supermium-electron
    作者的目标是支持到 windows vista ,不过按照 supermium 的进展来看,估计会支持到 xp
    aLazarus
        47
    aLazarus  
       2024-03-29 20:53:41 +08:00
    @xwwsxp 你电脑有几 PB 的硬盘空间呢?
    FightPig
        48
    FightPig  
       2024-03-29 21:00:25 +08:00
    正好去年用这两个做过项目,试了 tauri ,结果客户一大堆 win7 ,还是 sp1 版前的老版,tauri 直接趴窝了,webview2 装不起来大一堆,后来还是改 Electron 了。所以,如果你的客户面向普通用户,那老实用 Electron 吧,tauri 适合面向系统 win10 后的
    ugvfpdcuwfnh
        49
    ugvfpdcuwfnh  
       2024-03-29 21:53:34 +08:00   1
    electron 速度不快,但好在兼容性强,连腾讯这么大的互联网公司都选 electron ,这还选个啥?

    以后肯定是 electron 的天下。
    ETiV
        50
    ETiV  
       2024-03-29 22:42:36 +08:00 via iPhone
    uLdP4HCJts79jh56
        51
    uLdP4HCJts79jh56  
       2024-03-29 23:11:23 +08:00 via Android
    需要和 webview 交互只能选 Electron ,比如全局请求拦截加 header ,获取页面 cookie ,注入 js 等等
    ic3z
        52
    ic3z  
       2024-03-29 23:34:47 +08:00 via iPhone
    neutralinojs nodegui
    hedwi
        53
    hedwi  
       2024-03-30 00:13:33 +08:00
    golang 用户可以考虑 wails
    stinkytofu
        54
    stinkytofu  
       2024-03-30 00:23:00 +08:00
    推荐 javafx
    zhuyw2006
        55
    zhuyw2006  
       2024-03-30 09:06:14 +08:00
    两个都用过,现在使用 MAUI+Blazor 。在也不用关心性能和占用问题了。
    Yayiliu
        56
    Yayiliu  
       2024-03-30 22:09:36 +08:00
    没有 linux 中文用户 Electron 优先,有还是 qt 吧,wayland 是你跨不过去的坎。
    xwwsxp
        57
    xwwsxp  
       2024-04-01 12:15:45 +08:00
    @aLazarus 非要抬杠对吧,本地电脑当然没有,公司的服务器一直都是 PB 级别的;毕竟,搞大数据的;而且,现在 SSD 的价格比之前几年要下降不少吧,我本地的电脑是 10 T 的
    aLazarus
        58
    aLazarus  
       2024-04-02 10:57:26 +08:00
    @xwwsxp #57 那你的客户端如果安装在了硬盘没有 10T 的用户电脑上,你该如何解决?或者说客户端为什么叫客户端,而不是服务端或者开发端
    xwwsxp
        59
    xwwsxp  
       2024-04-03 11:21:10 +08:00
    @aLazarus 不要抬杠,electron 没有那么大吧;再说,微信那么大,也没见你们抱怨啊;快说出活,先活下来,再谈优化;有的时候,过了这个时间,就没有意思;

    当然,如果 google 不感觉出 android ,可能就要被苹果将市场垄断,一样的道理;你的产品可以不完美,后面慢慢打磨就是。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1441 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 16:46 PVG 00:46 LAX 08:46 JFK 11:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86