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

当前开发跨平台桌面应用应该用什么语言和框架?考虑到生态和性能,以及 vibe coding 加持

  •  1
     
  •   hotea · 2 天前 · 4367 次点击

    AI 给的两个: Rust + Tauri 2
    TypeScript + Electron / Tauri

    75 条回复    2026-03-08 09:36:13 +08:00
    PC9528
        1
    PC9528  
       2 天前   ❤️ 1
    gpui 已经成功用 vibe coding 开发出一个可用的了..
    yaakua
        2
    yaakua  
       2 天前
    Tauri 2
    xtreme1
        3
    xtreme1  
       2 天前
    你不如说说具体要搞啥
    netme
        4
    netme  
       2 天前
    我用 rust + slint 。不过我的小工具是管理 wsl 的,so 只覆盖 windows 桌面平台。
    caiyuan
        5
    caiyuan  
       2 天前
    我就用 tauri 全程 vibe 出了一个 AI 翻译软件,deepl 的替代。
    momo1999
        6
    momo1999  
       2 天前
    直接 AI 撸一个界面框架
    nilaoda
        7
    nilaoda  
       2 天前
    webview 方案,wails 单文件发布不错,tauri 也还行

    原生方案,avalonia 不错但是感觉 AI 不够熟悉
    murmur
        8
    murmur  
       2 天前
    无脑 electron ,商业验证过的
    ltaoo1o
        9
    ltaoo1o  
       2 天前
    @momo1999 还真可以,我就用 AI 撸了一套 golang 实现的,内置 多窗口、自动更新 功能,还在用 AI 写前端框架 + 组件库。
    yuhangch
        10
    yuhangch  
       2 天前
    无脑 tauri2
    falconwang0110
        11
    falconwang0110  
       2 天前   ❤️ 1
    我现在用的 Go + Wails2 ,单 exe ,挺爽。
    layxy
        12
    layxy  
       2 天前
    Lazarus
    shintendo
        13
    shintendo  
       2 天前
    这什么建议
    Tauri 和 Tauri 2 不都是 Rust + JS/TS 吗
    hotea
        14
    hotea  
    OP
       2 天前
    @shintendo 应该是混合使用
    287854442
        15
    287854442  
       2 天前 via Android   ❤️ 1
    Rust + Tauri 2
    我最近做了好几个基于 tauri 的,分享一点它的缺点:
    1. 坑其实挺多的,很多插件不完善,得有这个预期。然后就发现得用 native 来实现部分功能(好在也不麻烦),AI 很容易遇到问题,就转 native 实现,这个时候要问清楚,不能太让他轻易换方案,否则就是各种平台宏满天飞了。
    2. AI 对 rust 没有像其他语言(比如 typescript )那么熟悉,建议用好一些的模型。
    clearme
        16
    clearme  
       2 天前
    Rust + tauri ,全程 vibe coding 出了一个开源的桌面 AI IDE ,因为没有打包 webview 内核,所以性能和内存占用还不错 https://github.com/GCWing/BitFun
    lixuda
        17
    lixuda  
       2 天前
    @ltaoo1o 是 wails 吗
    vfs
        18
    vfs  
       2 天前
    @momo1999 很期待,看看有没有人能弄出来,感觉难度很大
    psllll
        19
    psllll  
       2 天前
    怎么都是浏览器,没人说 qt 吗
    stinkytofux
        20
    stinkytofux  
       2 天前   ❤️ 10
    悲哀, 真是悲哀, 竟然没有一个人提到 QT. 用 QT6 开发桌面程序, 不管是性能还是资源占用都非常优秀. 跨平台能力也很强. 在 AI 的加持下, 编写 C++ 也不是那么难. 用 QT6 开发当然没有各种浏览器套壳来的快, 但是值得花点时间去打磨产品, 我真的不想在电脑上装一堆浏览器内核了, 朋友们!
    sunny352787
        21
    sunny352787  
       2 天前
    我用的 electron ,开发快功能强,AI 友好
    ByteCat
        22
    ByteCat  
       2 天前
    不用选,肯定 Electron ,ts 一把梭
    david1025
        23
    david1025  
       2 天前
    @stinkytofux qt 有什么授权风险么?
    stinkytofux
        24
    stinkytofux  
       2 天前
    @david1025 开源的, 从开发到发布基本没有风险. 除非你非要静态链接, 理论上需要商业授权.
    bingxx
        25
    bingxx  
       2 天前 via Android
    @stinkytofux 商用授权许可太贵了。
    stinkytofux
        26
    stinkytofux  
       2 天前
    @bingxx 不必杞人忧天, 你有什么特别需求非要用商业版本.
    GPLer
        27
    GPLer  
       2 天前 via Android
    @stinkytofux C/C++还是算了吧,写不明白内存泄露了不是更糟心,PyQt 看上去还行,不知道实际怎么样
    muooOOO
        28
    muooOOO  
       2 天前
    flutter 不香吗?官方亲自指导 vibe coding 。性能,占用,体积都很优秀。求求各位别再套壳浏览器了。
    wjd2002
        29
    wjd2002  
       2 天前
    QT C++,原生系统开发,跨平台、高性能,如果用上 vibe coding 门槛不高。
    lh123lh
        30
    lh123lh  
       2 天前
    Flutter 、Tauri 、Qt 都用的比较多,Flutter 和 Tauri 写个人项目挺好的,Qt 写公司的项目
    dimwoodxi27
        31
    dimwoodxi27  
       2 天前
    要真考虑到生态和性能,就不会考虑 webview
    SayHelloHi
        32
    SayHelloHi  
       2 天前
    CyanHaze
        33
    CyanHaze  
       2 天前
    Tauri ,最近刚 vibe coding 了一个图片压缩工具: https://github.com/hiseanchow/tinyImage
    anyChris
        34
    anyChris  
       2 天前
    看你对性能要求高不高。要求不高的话 Electron 生态最成熟,AI 写起来也最顺手,毕竟训练语料多。Tauri 2 体积小性能好,但 Rust 那块 vibe coding 还是容易翻车,调起来费劲。

    我个人现在新项目默认 Tauri 2 了,前端随便选,Rust 后端只写胶水层就行,不用太深入。
    rb6221
        35
    rb6221  
       2 天前
    商业项目 electron ,个人玩具 flutter 。
    tauri 只是小部分人自嗨,在 rust 没有普及(我说的是有培训班那种,这说明市场上大量需求了)之前我不会放在主选项里面,除非哪天我有兴趣开始学 rust 了。
    ltaoo1o
        36
    ltaoo1o  
       2 天前
    @lixuda 不是,wails 现在好像没有内置自动更新功能吧,而且开发体验不是很好,就自己写了个。有 AI 写起来很快了,还可以增加更多功能,比如支持移动端开发
    flytsuki
        37
    flytsuki  
       2 天前
    能不能不要跨端,电脑上一堆浏览器
    lujiaxing
        38
    lujiaxing  
       2 天前
    最优选: Electron...

    其次 Avalonia / QT..

    至于 Tauri, 讲真那玩意还需要会前端 + Rust, 那你都会前端了为什么不直接用 Electron? 考虑体积问题那你直接 Avalonia / QT 多好呢?
    lujiaxing
        39
    lujiaxing  
       2 天前
    至于 Flutter, 还是在移动端待着吧别来 PC 端凑热闹.
    humbass
        40
    humbass  
       2 天前
    我一个 jser 也开始用 wails ,主要是打包太爽了,可以把资源文件直接包进去编译。不过听说 flutter 更原生。
    ninjaJ
        41
    ninjaJ  
       1 天前
    技术没有银弹,要根据你自己的需求来选。现在这些方案每个都有缺点,你提供的信息太少了。
    wanmyome
        42
    wanmyome  
       1 天前
    为什么都推荐 webview 方案?个人十分反感 webview 方案;
    推荐 Lazarus 和 qt
    QlanQ
        43
    QlanQ  
       1 天前
    @stinkytofux #20 在还是 qt 和 gtk 大战的时候,就留下了 qt 看着花哨,但是不好看的印象,知道今天还是很排斥 qt
    youngxhui
        44
    youngxhui  
       1 天前 via iPhone
    react native 不在考虑范围吗?
    kakki
        45
    kakki  
       1 天前
    我肯定选 electron
    uni
        46
    uni  
       1 天前
    等我尝试一下 maui 再回来告诉你哈哈
    simonsww
        47
    simonsww  
       1 天前
    我之前考虑是 go 后端+tauri2 前端实现,Wails2 成熟不,还没研究过
    liuliuliuliu
        48
    liuliuliuliu  
    PRO
       1 天前
    你得先说你要 webview 方案
    还是原生方案
    flyqie
        49
    flyqie  
       1 天前
    无脑选 electron 不要考虑其他的...

    electron 资料多而且各厂商业项目上用的都比较多
    aicareless
        50
    aicareless  
       1 天前
    Claude code
    layxy
        51
    layxy  
       1 天前
    @stinkytofux QT 的问题时容易收到律师函,尤其是有商业化计划的应用
    midraos
        52
    midraos  
       1 天前
    @stinkytofux #20 这就要提到 tauri 了,直接使用系统的 webview
    9136347
        53
    9136347  
       1 天前
    electron 无脑选吧
    ruanimal
        54
    ruanimal  
       1 天前
    @caiyuan 开源了吗
    camork
        55
    camork  
       1 天前 via iPhone
    没人提 egui 吗,纯原生高性能,就是组件都要手搓
    lwfre
        56
    lwfre  
       1 天前
    作为用户,我选择 tauri 。作为开发者,我选择 electron
    LeegoYih
        57
    LeegoYih  
       1 天前
    用 Tauri+Rust 写过几个玩具,目前 Rust 生态是野生状态的,遍地都是 0.x 版本/个人维护/停止维护的库。
    习惯了其他语言由大厂或基金会背书的生态再转到 Rust ,会有非常大的落差感。
    比如我想写个简单的 GIF 录制工具,底层逻辑基本上全是手搓的,代码里一堆 unsafe🙄。
    AAAmos
        58
    AAAmos  
       1 天前
    月经贴,还是看需求,现在范围基本上圈定在 electron 、内嵌 webview 、原生 qt/c++、c#这几个方案上,cef 先靠后吧,①如果性能优先,考虑原生方案,但是交互和 UI 上可能就稍微差点、需要花精力打磨 ②如果 ui/交互优先,那 webview 方案( rust 或者 go )是很好的选择,但是要在性能上花精力打磨 ③如果是性能、UI 、可维护性、包大小等都要兼顾,那就不只是技术选型的问题了,还需要有足够的技术能力,包括对 vibe coding 的驾驭能力。以上个人所见。
    MegatronKing
        59
    MegatronKing  
       1 天前
    目前阶段来讲,性能和生态是两个对立矛盾点。比如 electron ,生态是极好,性能也是极差;其他的 qt ,flutter ,性能是好,生态也是差。所以怎么取决看具体项目,性能敏感的就放弃生态,对性能不敏感的就放弃性能。
    frankies
        60
    frankies  
       1 天前
    electron 应该是 AI 训练数据最多的吧,无脑 electron 啊
    byasm32
        61
    byasm32  
       1 天前
    QT+C++,跨平台首选,性能也一流。遇到问题 ai 也完全 hold 的住。
    我用 QT+C++开发一款 json editor: https://www.v2ex.com/t/1195430
    GavinXSF
        62
    GavinXSF  
       1 天前
    推荐一下 #38 提到的 Avalonia
    yjxjn
        63
    yjxjn  
       1 天前
    我自己用 Electron 开发了一款本地的 markdown 笔记,目前自己用,选择 electron 的原因在于生态好,脚手架多。

    https://github.com/jetyu/NoteWizard/
    lete
        64
    lete  
       1 天前
    tauri2 写的两个工具(还有一些没开源)
    局域网剪贴板共享: https://github.com/cliprtc/cliprtc
    deepl 翻译: https://github.com/lete114/DeepL-Translate-Unofficial
    zhouyin
        65
    zhouyin  
       1 天前
    @layxy
    @wanmyome
    鄙人第一个大项目就是用 delphi ,2007 年左右,课堂任务。
    那时第一感觉就是,花下去的大量时间没产生经济回报,心里后悔,哈哈哈。第一次感觉到写代码辛苦
    zhouyin
        66
    zhouyin  
       1 天前
    没人推荐 java swt 吗?是不是写起来太繁琐 , 前几天我刚用 bing copilot 写了个简单的 gui ,有两个文本框,一个按钮,能发送 http 请求
    youshangdemajia
        67
    youshangdemajia  
       1 天前
    看了一圈,没人说 Rust 的其他原生 UI 框架,比如 egui/gpui 这些。
    假如有了 AI ,为什么还要用 Tauri 这种和 Electron 半斤八两的东西?区别只是不用自己带一个浏览器核心而已。
    假如是写一个小工具,用这些原生 UI 框架已经很足够。
    layxy
        68
    layxy  
       23 小时 53 分钟前
    @zhouyin 比 Electron 还要吃内存,现在很多人比较反感 Electron 和 java 开发的桌面就是不但安装包大,使用时也是内存大户
    doraemonki
        69
    doraemonki  
       23 小时 41 分钟前 via Android
    tauri 或者 flutter
    sir283
        70
    sir283  
       23 小时 23 分钟前
    @GPLer qt 有 gc 回收啊,跟写 Java 、C#一样,不太需要手动管理内存了,除非你的 web 端屎山代码写习惯了,那确实,qt 不太适合。
    sir283
        71
    sir283  
       23 小时 21 分钟前
    @zhouyin 这个论坛里面,大部分都是写 WEB 前端的,它们非常讨厌 Java ,第一个就是排除 Java 。
    GPLer
        72
    GPLer  
       23 小时 11 分钟前 via Android
    @sir283 C/C++ 在 vibe coding 的情况下代码量上来了是保证不了不会内存泄露的,你不泄调别人的库也可能会泄,不确定你说的 GC 是什么,但在我印象里,Qt 的程序没写好也是存在内存泄露的。
    zhehong
        73
    zhehong  
       20 小时 45 分钟前
    我现在就在用 tauri 开发 bond 客户端
    MindMindMax
        74
    MindMindMax  
       14 小时 25 分钟前
    golang + wails 感觉良好
    CyouYamato
        75
    CyouYamato  
       1 小时 12 分钟前
    都 vibe coding 了那必须 tauri, 别再用 electron qj 我的内存了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2655 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:48 · PVG 10:48 · LAX 18:48 · JFK 21:48
    ♥ Do have faith in what you're doing.