V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
inSpring
V2EX  ›  程序员

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

  •  
  •   inSpring · 2024-03-29 09:09:50 +08:00 · 8127 次点击
    这是一个创建于 367 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    反正最麻烦的前端部分也是复用的,每个都写写试试呗
    ExplodingFKL
        6
    ExplodingFKL  
       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 实在好不过了,至少当你遇到难关的时候,你可以轻松在社区找到好办法。
    wanguorui123
        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
    在另外一个帖子里, 我也推荐了这个:
    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  
       363 天前
    @aLazarus 非要抬杠对吧,本地电脑当然没有,公司的服务器一直都是 PB 级别的;毕竟,搞大数据的;而且,现在 SSD 的价格比之前几年要下降不少吧,我本地的电脑是 10 T 的
    aLazarus
        58
    aLazarus  
       363 天前
    @xwwsxp #57 那你的客户端如果安装在了硬盘没有 10T 的用户电脑上,你该如何解决?或者说客户端为什么叫客户端,而不是服务端或者开发端
    xwwsxp
        59
    xwwsxp  
       361 天前
    @aLazarus 不要抬杠,electron 没有那么大吧;再说,微信那么大,也没见你们抱怨啊;快说出活,先活下来,再谈优化;有的时候,过了这个时间,就没有意思;

    当然,如果 google 不感觉出 android ,可能就要被苹果将市场垄断,一样的道理;你的产品可以不完美,后面慢慢打磨就是。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5473 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:20 · PVG 11:20 · LAX 20:20 · JFK 23:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.