tcper
V2EX  ›  OpenAI

AI 普及之后,应该把所有 Electron 重写为 native

  •  1
     
  •   tcper · 1 day ago · 9835 views

    凡是基于 Electron 开发的,开着时间长,必然内存占用越来越大,界面响应越来越慢

    以前大家手写不挑你理,既然 AI 让写代码成本降低了

    感觉第一件事就应该全部迁移为 native

    大不了 macos/windows 各写一套呗,相同业务逻辑

    Supplement 1  ·  1 day ago
    块经常出这种帖子:一天重构了 CAD
    一周用 rust 重写了 typescript 编译器/bun
    3 天重构了 simcity
    ……

    按这个速度,把 electron 重构到 Qt/Rust/Avalonia 最多要半天吧……
    102 replies  •  2026-11-04 03:36:47 +08:00
    1  2  
    ❮ ❯
    dnfQzjPBXtWmML
    dnfQzjPBXtWmML
    1 day ago❤️2
    1
    简单组件还行,复杂功能在不同平台用不同的方案就变成地狱模式了
    sentinelK
    sentinelK
    1 day ago❤️5
    2
    electron 的优势主要是在于 UI 和硬件机制的解耦,和移动 app 中的 webview 方案一样。
    这样做业务 UI 的和与硬件沟通的可以完全独立。而且 UI 逻辑是通用的。

    相反,如果是 native ,不可能舍弃原生的各种 UI 机制。这样来讲,其实不同系统的软件设计思路就都不同了。带来的结果就不光是代码量翻倍那么简单。
    Seamain
    Seamain
    1 day ago
    3
    就算现在有 AI 但还是两倍的维护成本,和之前手写代码的时代没有区别。那企业肯定是不愿意的,尤其现在是降本增效的时代。
    gdm
    gdm
    1 day ago
    4
    可以自己写 native 啊,反正有 ai
    我就给自己写了文本编辑器
    Oktfolio
    Oktfolio
    1 day ago
    5
    我的 SSH 客户端现在是 Flutter GPUI 两个版本并行,GPUI 相较于 Flutter 包体积减少 40%,内存占用大概也降低 40%。Flutter 在包体积和内存占用上也比 Electron 好很多。
    homer
    homer
    1 day ago
    6
    是的,CPU 、内存占用大幅降低,老电脑还能再战 10 年
    baizheng
    baizheng
    1 day ago❤️1
    7
    想想简单, 动手就知道了
    gejun123456
    gejun123456
    1 day ago
    8
    electron 版本目前有优势,生成的 html 可以方便 ai 测试比如看按钮存不存在,点击是否好用等,弄成 native 不好测试的话效率低很多。
    Mageblade
    Mageblade
    1 day ago❤️2
    9
    极其讨厌浏览器套壳的一切软件!
    calvinHxx
    calvinHxx
    1 day ago
    10
    来来来。用俺们的组件来整! https://github.com/calvinhxx/Fluent-Qt
    nc
    nc
    1 day ago
    11
    现在 PC 性能严重过剩,微软都搞明白的道理,能用 Electron 就用,公司的 Token 可是按量计费的。
    crysislinux
    crysislinux
    1 day ago via Android
    12
    人家搞 AI 世界最 top 的公司都还在用 electro 呢,其他人慌什么。
    zed1018
    zed1018
    1 day ago❤️4
    13
    PC 上还有人乐意给你做 app 就偷着乐吧(
    duuu
    duuu
    1 day ago
    14
    大部分业务软件都没到拼性能的地步。
    lujiaosama
    lujiaosama
    1 day ago
    15
    重构的最大问题是测试成本,跑得好好的东西 你重构除了问题找你背锅你愿意吗.
    irrigate2554
    irrigate2554
    1 day ago
    16
    现在 web 端前端组件太丰富了,其他技术栈想要达到类似效果得多写很多很多东西
    ano
    ano
    1 day ago
    17
    基于现实来说,现在好几家新生代主打 AI 的 AI-IDE 的壳都用的 Electron ,
    Electron 还是有优势
    lovedeepl
    lovedeepl
    1 day ago
    18
    Electron 生态比较成熟丰富
    lovedeepl
    lovedeepl
    1 day ago
    19
    还好吧,不是特别复杂的应用
    life1st
    life1st
    1 day ago
    20
    恰恰相反,所有 electron 都应该写成 browser + server 模式,包括 vscode
    Chuckle
    Chuckle
    1 day ago❤️1
    21
    写代码的成本一直不是大头,管理成本会起飞的
    pk78823
    pk78823
    1 day ago
    22
    @sentinelK 同意, 这是抽象出来这层的意义
    layxy
    layxy
    1 day ago
    23
    等啥时候 claude desktop 和 chatgpt app 使用原生开发再说吧
    Wanex
    Wanex
    1 day ago
    24
    js 这么丰富的生态我不用我给你用 native 重新手搓一遍,你猜我搓不搓
    znedyrk
    znedyrk
    1 day ago via Android
    25
    反正我们的 flutter 确实是重写成 kotlin 了
    还是完全没做过移动端的人重写的
    Vaspike
    Vaspike
    1 day ago
    26
    积重难返了已经, 就一个主题切换就难倒英雄汉
    不客气地说 js+html 拥有着世界最强的生态
    javalaw2010
    javalaw2010
    1 day ago
    27
    AI 普及之后,当务之急是 native 尽快兼容 web 的语法
    redbule
    redbule
    1 day ago
    28
    用 mygo 吧
    XIVN1987
    XIVN1987
    1 day ago
    29
    站在用户的角度,,我十分赞成楼主的想法。。

    用过一个叫 balenaEtcher 的软件,,是用来往 tf 卡里面写镜像的,,界面非常简单,,只有几个按钮。。但它的 exe 文件竟然有 100 多 MB 。。

    如果改用 windows api 写,,搞不好连 1MB 都不到。。可见 Electron 浪费了多少算力、内存和能源。。
    liaohongxing
    liaohongxing
    1 day ago
    30
    @XIVN1987 但是 windows api 不跨平台,那软件能跨平台。
    dinjufen
    dinjufen
    1 day ago
    31
    哈哈,我也是一样的想法,我也会 Qt 和 electron 开发,但那是工作需要。我个人用 claude 自己撸了个仿 IDEA 的 native git 客户端: https://github.com/dinjufen/idea-git-tool ,欢迎大家体验并给个 star
    magicdawn
    magicdawn
    1 day ago
    32
    Codex 2026 年初第一版就是 Electron, 现在合进的 ChatGPT.app 还是 Electron.

    ChatGPT Classic 貌似是 native 的, 但弃用了。
    strobber16
    strobber16
    1 day ago via Android
    33
    token 的钱你来出吗
    Vaspike
    Vaspike
    1 day ago
    34
    @magicdawn codex 桌面/chatgpt 的性能问题太严重了, electron 功不可没
    XIVN1987
    XIVN1987
    1 day ago
    35
    @liaohongxing

    这是开发人员需要考虑的问题,,不是我们用户需要考虑的。。

    我作为用户只需要考虑我的平台上能不能用、好不好用,,谁管它跨不跨平台。。
    Atukey
    Atukey
    1 day ago❤️1
    36
    @XIVN1987 #29 就这个 der 软件,之前频繁使用,跟你一样的想法,最后换了 rufus,才 1.5MB
    q000q000
    q000q000
    1 day ago
    37
    Rust + GPUI 重写一切 😡
    ahzdc
    ahzdc
    1 day ago
    38
    没错
    ttkit
    ttkit
    1 day ago
    39
    。。。怎么感觉你说反了?开发 AI Agent ,Electron 有可能以后变成必选项,codex 和 claude code 全部是基于 Electron 做的。

    如果你做 AI Agent 用 native 只能说呵呵。
    leegradyllljjjj
    40
    我这个软件打完包才 4mb ,内存占用也低,难以想象用 electron 会占多少内存
    ty5yidc
    ty5yidc
    1 day ago
    41
    @leegradyllljjjj 你的评论图片怎么发的?
    leegradyllljjjj
    42
    @ty5yidc chrome 插件 V2EX Polish ,啃臭键+V = 粘贴图片
    chicbian
    chicbian
    1 day ago
    43
    原生的各种版本兼容非常要命,而且很多程序员都是用 mac, 天然的 ai 开发友好,比如 GPUI ,好像没怎么去做过 windows 的桌面应用适配,如果做过,就知道什么是噩梦了,比如 GPUI 在没有独显的 windows 上性能提升跟没有是差不多的,然后 windows 上的各个版本的智障适配,脑子疼,所以套壳 webview2 的方案,会更加的友好。
    junie365
    junie365
    1 day ago
    44
    我怎么感觉以后 AI 会 JS 生态一把梭😂。
    thetbw
    thetbw
    1 day ago
    45
    如果把本应该给 AI 用的资源分给消费级 PC ,我不敢想 Electron 会跑多快,Chrome 也不用增加“省内存模式”了,多出来的精力可以优化别的部分,这又何尝不是另一种提效。
    vsomeone
    vsomeone
    1 day ago
    46
    但是 native app 很难测试诶,尤其是跨平台的 app ,Windows 10 + Windows 11 + macOS 最近三个版本 + Linux 各种发行版。Electron 的好处就在于写一次,在一个平台上测试一遍,在其他平台上基本都会有相近的表现。AI 只降低了开发的成本,测试的成本相对还是比较高的
    lolo1
    lolo1
    1 day ago via Android
    47
    立一个 flag 5 年内 electron 会死掉
    Nzelites
    Nzelites
    1 day ago
    48
    说反了 应该全部转到 electron ,这样产品直接生 html 能行直接用 光速迭代 谁还管你 native
    msg7086
    msg7086
    1 day ago
    49
    我觉着重写一遍 bun 可比把 electron 重构到 native 简单多了。
    guin
    guin
    1 day ago
    50
    怎么现在越来越多的产品都用 electron 了? opencode2 不也是改用 electron 写了,还有看网上招聘桌面客户端 wpf 的很多都要求会 electron 了
    ylsc633
    ylsc633
    1 day ago
    51
    就是不好测试,不然谁不喜欢内存小的
    HTravel
    HTravel
    1 day ago
    52
    为什么要用 Electron ,不就是因为涉及用户界面嘛。后端几乎可以用完整测试用例、AI 自动验证来确保转译时的 100%精确。前端是人类自己要用的,AI 要怎么保证 100%UI 效果完全一致?压根不可能,更别说不同操作系统上的提供的 GUI 组件都不等价。像我前几天还只是把简单的知乎 web app(我自己做了一个)做成 PWA 版来隐藏地址栏。就这么极其小的一个变动,iOS 上浏览器免费送的页面切换动画就没了。你慢慢让 AI 模拟去吧,模拟了半天,iOS27 上都不像,更别说返回后有些地方还会一闪,还不是全屏闪,想给 AI 描述都不容易。更别说 iOS15 上现象还不一样。这还没算安卓 PWA 。

    所以只要涉及到 UI 的,转个毛线。除非各大操作系统的源码都给你了、硬件制造工厂也让你当老板,你能全权控制了再说。

    至于 Electron 占用内存大,能大个啥。不瞎几把用的话,那些调用不到的代码/资源,早通过页交换换到 SSD 去了。最终也就是表面看起来占用内存大,实际上压根没影响。除非多个软件来回不停切换用、每个软件还什么功能都用到,导致页面交换一直进进出出打摆子,才会真的影响使用
    SnowyParadise
    SnowyParadise
    1 day ago
    53
    拉倒吧,上一个用 rust 重写 vscode 的坟头草都老高了
    Lightbright
    Lightbright
    1 day ago❤️3
    54
    楼上的说了这么多
    到底有哪些软件同时有 Windows + macOS + Linux 各种发行版这么多端
    还能保证 UI 交互 100%一致啊
    我看绝大多数哪怕用了 electron 的,很多端也是管杀不管埋
    软件八字没一撇呢,已经开始研究究极兼容性了。。。
    nullyouraise
    nullyouraise
    1 day ago❤️3
    55
    理想很美好,现实 Electron 只会越来越多

    上半年开始,我用 Rust+GPUI+gpui-kit 做了个 Agent 和终端二合一的 GUI ,想法很简单,就是现在的 Electron 应用已经太多了,我个人也更喜欢原生技术,速度快、二进制体积小,怎么看都有各种优点,实际上迭代了三个月,现在我已经想用 Electron 重写了,主要有几个原因:

    1. 原生应用开发效率远不如 Electron 。Rust 编译慢、Electron 应用大部分时间都能实时预览就不说了,Electron 支持 DevTools ,Agent 可以直接连接上应用进行 UI 调试,这个 Rust 应用开发时为了提升 GUI 调试效率,我还写了套自动化接口给 Agent 用,但是使用 Electron 根本不存在这个问题;

    2. Electron 依托 Web 生态,npm 提供海量现成的解决方案;开源社区里的平台原生解决方案相比 npm 还是太少了。最近我想给 Agent 对话页增加 Mermaid 图渲染功能,GPUI 和 gpui-kit 都不提供,又要手工维护一堆 Rust 代码,这是最近劝退我的最核心原因;

    3. Rust 项目在不调整配置的情况下,target 中间目录占用大量硬盘。虽然 node_modules 是无底洞,但和 Rust 项目比也是小巫见大巫了。编译 Codex 出来就占 110GB ;我这个个人项目本地 target 目录一度高达 500GB ,又是改配置,又是清理,最后才稳定在 50G 以内;

    4. 原生应用跨平台适配麻烦。最开始我只做了 Windows 版,后来有个朋友想用 Mac 版,我抽了一天适配了一下,虽然 AI 只要一天就适配好了,但是总归还是有工作量的。后面再迭代时,每次我都要在 Windows 上测一遍,再到 Mac 上再测一遍,用 Electron 基本没有这个烦恼。

    总结下来,使用 Electron 可以省去开发者很大麻烦,只要专注于你的业务逻辑就可以。原生开发给开发者增加负担不说,收益却未必明显,绝大部分人是完全不关心你的软件是用什么技术写的
    XIVN1987
    XIVN1987
    1 day ago❤️1
    56
    没想到,,竟然有这么多人不看好 native ,,原因是 native 太难。。

    看来大家还是对 AI 没信心啊。。
    Facilis
    Facilis
    1 day ago
    57
    参考 element 和 nheko
    zy445566
    zy445566
    1 day ago via iPhone
    58
    zy445566
    zy445566
    1 day ago via iPhone
    59
    zy445566
    zy445566
    1 day ago via iPhone
    60
    bronyakaka
    bronyakaka
    1 day ago
    61
    我用 mygo 原生 GPUI 渲染重写了我 wails 做的 agent: https://github.com/Bronya0/ally-agent 体验非常棒
    Dk2014
    Dk2014
    1 day ago
    62
    @Atukey 写开发板的吧😁
    Hikareteku
    Hikareteku
    1 day ago
    63
    太好了,又能重复造一堆轮子了 \o/
    asuka02
    asuka02
    1 day ago
    64
    @leegradyllljjjj 你这个用的什么 Native 做的
    zackkk
    zackkk
    1 day ago
    65
    @zy445566 很好,这个是手写的吗
    nrtEBH
    nrtEBH
    1 day ago
    66
    不是重写 Electron 应用 是直接重写 Electron 用更 Native 的方式去实现这个框架
    humbass
    humbass
    1 day ago❤️1
    67
    和楼主感觉相反,现在连工厂开发桌面端的,能转 electron 都转过来了。除非是老项目大量依赖 C# 的项目。
    下一步 node.js 继续迭代到 直接可以调用调用 C++(像 python 那样),这些写 C# 的都会失业。
    nightwitch
    nightwitch
    1 day ago
    68
    AI 写 electron 比写 native 快太多,因为 electron 生态太好了,而 native api 各有各的奇葩。
    这样发展下去只会产生越来越多的 electron 软件。
    zerovoid
    zerovoid
    1 day ago
    69
    除非内存白菜价,
    不然占用低的应用肯定是有市场的,

    以前开发者重构一个软件成本太高了,
    现在重构一个成本大大下降,

    我觉得打着低内存占用的旗号,
    重新抢占 PC 软件市场,会是个新赛道。
    zerovoid
    zerovoid
    1 day ago❤️1
    70
    @humbass 工厂设备的软件有跨平台要求吗,如果没有跨平台需求,用 electron 只能解释为招个会写前端的程序员比较便宜。
    untitledabc
    untitledabc
    21h 10m ago
    71
    还有把那堆 node 和 python 写的 mcp 给铲除,启动又慢,文件系统到处拉屎,又巨废内存。
    charlie21
    charlie21
    21h 3m ago
    72
    codex 客户端本身就是 electron 写的,为什么他们不用平台原生框架呢?是为了在开发效率、多平台统一和维护成本之间取得最佳平衡。跨平台代码复用,web 技术对设计稿的还原能力,产品功能快速迭代:基于 web 技术的跨平台框架依然有优势
    junyee
    junyee
    20h 29m ago
    73
    别只喷 electron ,
    现在的 webview2 同样恶心.
    frankies
    frankies
    20h 7m ago
    74
    虽然我也不喜欢 electron ,但是我司以及我自己开发还是喜欢 electron ,简单好维护成本低就足够了,占用户的内存又不占服务器内存,换 native 会给公司多赚钱嘛?明显不会啊。也就 V 友这一小撮人知道用了 electron ,用户不知道更不关心你用了啥技术,能满足他们需求啊订阅便宜点就足够啊,站在公司角度换 native 是纯傻子行为,很不商业。再说我也用过 AI 尝试写过 native 水平还不如 AI 写 electron 呢。
    leena
    leena
    20h 0m ago via iPhone
    75
    重构 Windows 11😄😄😄
    darkengine
    darkengine
    20h 0m ago
    76
    玩具可以,正经软件不需要重新测试?
    wangtian2020
    wangtian2020
    19h 58m ago
    77
    能被 JavaScript 重写的都会被 JavaScript 重写。
    写成 Tauri 都不会写成 QT
    zy445566
    zy445566
    19h 54m ago
    78
    @zackkk 不可能是手写,但是每次发布都会通过 t39 核心用例
    Lockroach
    Lockroach
    19h 54m ago
    79
    做 tob 的话 eletron 还是很重要的,不太看好这方面。
    你永远不知道 b 端用户可能在用什么老设备会出什么稀奇古怪的问题
    lieyan
    lieyan
    19h 30m ago
    80
    其实我比较看重冷启动的速度,之前用 electron 搓了个 ssh 的客户端,冷启动太慢了,后来用 rust+gpui 重新写了一遍,冷启动几乎秒开: https://winssh.net/ , 而且渲染帧率也高,120fps 完全没问题;至于内存占用么。。。也还好,我用 electron 写的和 rust 写的对比过,rust 可能只有几十兆的优势,当然这个也要看软件工程了
    cj941030
    cj941030
    19h 27m ago
    81
    先把各种 AI 软件自己 native 了再说
    lefer
    lefer
    18h 42m ago
    82
    以前我 vibe coding 都是做成 native 的,但是要编译有点复杂。

    后来偷懒都做 html 的,还能跨平台。

    只能说 chrome 太强了,Electron 在前 AI 时代解决了很多平台兼容性的问题。至于现在是否有必要换成 native ,我觉得大公司都没有这个动力去处理。
    iorilu
    iorilu
    18h 29m ago
    83
    不是 electron 问题, 是前端问题

    大家用 electron 主要是为了前端方便开发, 都现成的

    原生想搞一个好看 ui 不容易的, 多少年也没啥好方案, 现在才开始好点
    zzlove
    zzlove
    18h 18m ago
    84
    正在这么干,常用的开源软件,慢慢让 AI 重写
    cenbiq
    cenbiq
    18h 14m ago
    85
    原生有一个致命问题,就是远远不如 Electron 交互生态成熟,这里不只是指组件库,但凡你开发 Electron ,npm 从交互到美化到设计系统一路包全,原生的只有部分有这套东西,还各不相同。简单来说 Electron 的不可替代性在于对交互的完整定义。
    fds
    fds
    18h 6m ago
    86
    @nullyouraise #55 Rust 确实有点慢。最近 MyGo 非常好用,我在 mac 上编译 app 感觉没比执行个脚本多花多长时间(当然我之前生成过签名,不用重复签)。UI 其实做好并发没必要 Rust 那么极致的性能。
    slqcode
    slqcode
    17h 45m ago
    87
    快还是很重要的
    durban126
    durban126
    17h 35m ago
    88
    这个 没有商业价值
    除非 AI 完全免费用 我倒是可以利用业余时间做一做
    不然这个 token 量的使用 他们自己都没办法做到吧
    毕竟 ai 不会创新 除非已有这样的案例而且非常多的数据给 AI
    noahhhh
    noahhhh
    17h 32m ago
    89
    AI 客户端连 Tauri 都不用,一个个体积和内存占用都大的要命,这活得有个各个平台牵头干的才行,不然工作量上天了。
    Zenyet
    Zenyet
    17h 32m ago
    90
    @dinjufen 窝趣,我前几天刚用 mygo 写完一个 https://github.com/Zenyet/banyan
    duanxianze
    duanxianze
    17h 15m ago
    91
    没有人在乎这个
    zapper
    zapper
    17h 10m ago
    92
    兄弟别拦我,我要去打捞软件开发银弹,住进高级庇护所!疯狂 Agent ,启动!
    quxiaojuncuiyue
    quxiaojuncuiyue
    16h 8m ago via Android
    93
    native 不 native 根本就没那么重要。ai 时代 新出的软件 商业闭环更重要 electron 可以让新出的软件 在商业闭环上跑得更快。老软件 在 ai 时代 最重要的问题是 ai 化的改造 因为他不改 或者 思想包袱过重 他就没了。复刻一个 ps 让他本地化 轻量化 在 ai 时代一点意义都没有。
    xiaomushen
    xiaomushen
    15h 21m ago
    94
    确实应该这样
    batnss
    batnss
    15h 14m ago
    95
    @zzlove #84 minitv 给个下载 😁
    wsseo
    wsseo
    15h 10m ago
    96
    说来说去就是不行
    a1562619919
    a1562619919
    14h 50m ago
    97
    楼上似乎有人区分不了开发成本和开发难度的概念差别。electron 适合开荒,native 我认为在大后期需求基本不增加的情况下才可能有上场机会。就算真偏好 native 开发,也完全可以先出 electron 版快速出货,再让 ai 进行分化不同 native app ,结果上不还是用了 electron
    wanguorui123
    wanguorui123
    14h 6m ago
    98
    Electron (降本增效)又回去了 Token 不要钱差不多
    goumadantui
    goumadantui
    10h 42m ago
    99
    我就不说 electron ,说一说移动端的 react-native 、flutter 、kotlin 和 swift ,上次突发奇想,觉得 AI 这么牛了,想把一个用了好几年的 react-native 写的平台应用用 kotlin 和 swift 重构,希望 UI 方面完全一模一样,然后发现改了几天,这个 UI 就是无法完美,后面我又用 flutter 试了,比前两个原生的写出的 UI 好多了
    lixuda
    lixuda
    9h 12m ago
    100
    @Zenyet 纯原生写的还是 webview ?
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1362 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 232ms · UTC 20:41 · PVG 04:41 · LAX 12:41 · JFK 15:41
    ♥ Do have faith in what you're doing.