tcper
V2EX  ›  OpenAI

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

  •  
  •   tcper · 20h 11m ago · 5951 views

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    我觉得打着低内存占用的旗号,
    重新抢占 PC 软件市场,会是个新赛道。
    zerovoid
    zerovoid
    4h 34m ago
    70
    @humbass 工厂设备的软件有跨平台要求吗,如果没有跨平台需求,用 electron 只能解释为招个会写前端的程序员比较便宜。
    untitledabc
    untitledabc
    25 mins ago
    71
    还有把那堆 node 和 python 写的 mcp 给铲除,启动又慢,文件系统到处拉屎,又巨废内存。
    charlie21
    charlie21
    18 mins ago
    72
    codex 客户端本身就是 electron 写的,为什么他们不用平台原生框架呢?是为了在开发效率、多平台统一和维护成本之间取得最佳平衡。跨平台代码复用,web 技术对设计稿的还原能力,产品功能快速迭代:基于 web 技术的跨平台框架依然有优势
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1730 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 211ms · UTC 23:56 · PVG 07:56 · LAX 15:56 · JFK 18:56
    ♥ Do have faith in what you're doing.