• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hongchaodeng
V2EX  ›  程序员

为什么大家这么讨厌 Electron?

  •  
  •   hongchaodeng · Dec 3, 2022 · 27837 views
    This topic created in 1437 days ago, the information mentioned may be changed or developed.

    小弟最近搞了个新项目:https://he3.app

    然后来 V2 发了一个贴: https://www.v2ex.com/t/899531#reply79

    然后发现下面好多人非常讨厌 Electron ,说要换 Tauri 。

    我在开发前也是了解 Tauri 的,而且自己也用 Tauri 写过项目。觉得 Tauri 挺好的,对 Tauri 也没有特别爱。觉得 Electron 也挺好的,技术成熟,跨平台兼容性好。但是发现好多人特别反感 Electron 。

    这是为什么呀?想听听大家的意见,弥补下自己认知的缺陷。

    164 replies  •  2023-01-13 12:18:49 +08:00
    1  2  
    ❮ ❯
    Dragonphy
    Dragonphy
    Dec 4, 2022❤️2
    101
    其实我更不理解明明 web 能做的非要做成客户端
    maokabc
    maokabc
    Dec 4, 2022 via Android❤️1
    102
    我个人连 vscode 都不会去用,还会用其他基于 electron 的软件?
    silvernoo
    silvernoo
    Dec 4, 2022
    103
    vscode 轻量级编辑器,lz 这个重量级小工具
    lizhenda
    lizhenda
    Dec 4, 2022
    104
    其实我想说的是,tauri 做的应用其实比 electron 卡,居然每人说这个体验。windows 的 webview2 真是有点拉垮。tauri 的内存泄漏问题都快一年了还没修复。最开始对它热情,到后面做了几个应用后,就觉得为了省点体积选它其实没啥必要。商业应用我还是会继续选择 Electron 。
    pC0oc4EbCSsJUy4W
    pC0oc4EbCSsJUy4W
    Dec 4, 2022
    105
    其他都能接受,就是启动速度,ui 响应慢
    laqow
    laqow
    Dec 4, 2022
    106
    天国的 flash 有什么话想说但说不出来
    youtubbbbb
    youtubbbbb
    Dec 4, 2022
    107
    @royzxq 我觉得合理
    IslandOwnerHuang
    IslandOwnerHuang
    Dec 4, 2022
    108
    没多少功能的软件却占用上百 MB 的硬盘,特别是对于苹果这种硬盘价比黄金的设备实在是顶不住。
    nowtg
    nowtg
    Dec 4, 2022 via iPhone
    109
    2022 苹果还是 256 硬盘起步,硬盘卖的跟金子似的。就算是 14pro 的 512G 起,又能装几个 electron 。如果电脑上应用全是 electron ,不干活了吗? 不下载开发工具了?不下载代码了? 电脑上就不存文件了吗? 小工具就应该小
    luxor
    luxor
    Dec 4, 2022
    110
    客户端的 electron 就是服务端的 java ,极其占用资源。这种技术都应该淘汰。
    jfdnet
    jfdnet
    Dec 4, 2022
    111
    @pengtdyd 连 1Password 这种成名软件 改成 Electron 都被骂得狗血淋头 /


    除非必要,确实不想装基于 Electron
    abc8678
    abc8678
    Dec 4, 2022 via Android
    112
    @kran 可惜 IE 已经死了
    abc8678
    abc8678
    Dec 4, 2022 via Android
    113
    @blankmiss 百度网盘也是吗?之前都没发现
    xiaotianhu
    xiaotianhu
    Dec 4, 2022
    114
    @bthulu
    用户:内存是什么? 好卡啊,一定是电脑的问题,破玩意又要花钱更新了

    之前试用一下飞书,下载居然 1.2G ,感觉自己下了个操作系统。
    好像没怎么听说谁喷飞书好大的,都说好用。
    joyanhui
    joyanhui
    Dec 4, 2022
    115
    客户端尺寸太大,部分软件吃性能太离谱
    guog
    guog
    Dec 4, 2022 via Android
    116
    @jeesk postman 还不够难受吗? Mac 版启动慢,强制更新,每次都几百兆,输入框双击选中有 bug ,偶尔想要测试个 URL ,一打开竟然在冷起,墨迹好几分钟。还不如我直接 命令行 http 了
    ThisDay
    ThisDay
    Dec 4, 2022❤️2
    117
    我始终认为 atom 就死在这上面,启动慢,使用卡顿最终被 vscodde 替代。你看个人开发者的 sublime 都没死,它却先死了
    systemcall
    systemcall
    Dec 4, 2022 via Android
    118
    @nomagick #36
    electron 早就不支持 XP 了,现在不支持 win7 了
    webview2 支持 win7
    而且自己带一个基于 chromium 的东西来画界面,十几年前就有不少公司玩过,那个时候还是 cef 吧。但是别的地方是原生的,所以性能没那么差
    ericguo
    ericguo
    Dec 4, 2022
    119
    @royzxq 你说的对,但用 Mac 内存多 16G 就要 3000 ,当然能不用 Eletron 就不用。
    systemcall
    systemcall
    Dec 4, 2022 via Android
    120
    @lizhenda #104
    tauri 的应用不少有内存泄漏的问题,一个小工具开久了甚至可以吃掉 1G 多甚至更高的内存
    但是哪怕内存泄漏了,也没比正常的 electron 多太多。而且如果软件都换 tauri ,只要内存泄漏不太过分,就不会有 electron 多
    icedx
    icedx
    Dec 4, 2022
    121
    平均一个软件 5 个进程, 一个进程 100 M
    elboble
    elboble
    Dec 4, 2022
    122
    @royzxq 6.7.7 以前一样死,刚才看了一眼 6.8.8 了,试试看。从什么时候开始是 electron 的?
    abear
    abear
    Dec 4, 2022
    123
    @jeesk postman 不好用,慢死啦。用插件 Thunder Client 感觉都好得多
    stevefan1999
    stevefan1999
    Dec 4, 2022 via Android❤️1
    124
    誰都討厭胖子
    blackmao
    blackmao
    Dec 4, 2022
    125
    因为会的人太多了
    jeesk
    jeesk
    Dec 4, 2022
    126
    @leeyuzhe atom 死了吗? 还在维护呢。
    blankmiss
    blankmiss
    Dec 4, 2022
    127
    @abc8678 不是 只是附带一个 chromium 环境 不知道一年后我电脑的 chromium 环境能不能破百
    jfcherng
    jfcherng
    Dec 4, 2022
    128
    @jeesk #126 https://github.com/atom/atom/releases/tag/v1.63.1

    > This is the last release of Atom. We will be archiving Atom and all repositories under the Atom organization on December 15, 2022.
    > You can learn more about the official sunset of Atom in our blog post.
    pendulum
    pendulum
    Dec 4, 2022
    129
    @hongchaodeng 要离线版+特殊 API 的话,写个本地 web server ,常驻图标栏,唤起浏览器不就行了?
    ThisDay
    ThisDay
    Dec 4, 2022
    130
    @jeesk 死了官网首页写着 Atom and all repositories under Atom will be archived on December 15
    vitoaaazzz
    vitoaaazzz
    Dec 4, 2022❤️1
    131
    作为开发者用 electron 简直不要太快,electron+vue+elementui+npm 庞大的三方库,开发桌面端简直不要太高效。
    当然作为用户的时候用 electron 开发的软件就太用臃肿了,保底 100MB 以上,但是抛开成见来说,electron 的性能并不会差,启动效率也是很高的,内存占用以现在的配置水准来说也不算多吧。很多优秀的软件也都是用 electron 开发的,如 utools
    SekiBetu
    SekiBetu
    Dec 4, 2022
    132
    内存不值钱,但是平民买不起 32G 的内存
    royzxq
    royzxq
    Dec 4, 2022❤️1
    133
    @elboble 好像就最近吧,我也是刚换到 6.8.x 变成了 electron ,6.7.x 还不是 electron.. 这 qq 发版也不遵循 semver 啊
    hongchaodeng
    hongchaodeng
    OP
    Dec 4, 2022
    134
    @Dragonphy 亲~ 这是因为有些功能在 web 端不可用。Electron 不等于 Chrome 哈~
    MagicMC
    MagicMC
    Dec 4, 2022
    135
    "大" "慢" "卡"
    以及你要不要数数你电脑上一共有多少个 chromium.png
    hongchaodeng
    hongchaodeng
    OP
    Dec 4, 2022
    136
    @pendulum 这不就是自己造了个 Electron 轮子么... 我们还是希望有框架 (Electron 、Tauri) 这种能直接使用而不是自研哈
    qsnow6
    qsnow6
    Dec 4, 2022
    137
    既然都用 electron 了,为什么不用 web 版?
    cktsun
    cktsun
    Dec 4, 2022 via Android
    138
    就是有一些網站非要你安裝 electron 桌面端, 而不開放網頁版
    Damn
    Damn
    Dec 4, 2022
    139
    @ccchigh 单条 512G 的,非开发者的正常用户,谁会实装呢?王思聪?
    elboble
    elboble
    Dec 4, 2022
    140
    @royzxq 打包 280M ,展开 700 多兆,不支持 cmd+N 多开,但是可以命令行启动第二个实例,其他除了第一次,可以密码登录。
    再看几天转圈圈吧。
    jim9606
    jim9606
    Dec 4, 2022❤️1
    141
    1. 不是所有人都能安装 /更新系统 webview 的,例如某些倒霉的公司员工和 win7 用户,如果系统的 webview 有 bug 又不能更新那谁去解决?如果 webview 厂商摆烂拒不修 bug 咋解决?
    2. electron 只要你不用平台的特殊特性,能提供跨平台一致的使用体验,要太难做很多软件就直接不跨平台了。
    3. 就拿 Windows 最新的第一方 UI 方案 Windows APP SDK 来说吧,目前只能使用 MSIX 集中部署,而且**每个小版本的 runtime 包不共享**,在现在大概半年出一个小版本的状态,想靠集中部署省硬盘属于想想就好的状态。另外这种部署方式既不能安全清理旧版本又不能防止用户手贱卸载要用的版本。能够靠共享依赖稳定用下去的,估计只有.NET Framework 那种已经停止发展的技术吧。
    44670
    44670
    Dec 4, 2022❤️1
    142
    Electron 是一个开源框架,它可以帮助开发者在不同平台上开发桌面应用。它的最大优点是可以让开发者使用网页技术( HTML 、CSS 和 JavaScript )开发桌面应用,这大大降低了开发门槛。

    但是,Electron 也有一些缺点。首先,Electron 应用通常比原生应用大得多,因为它们包含了一个完整的 Chromium 内核。这意味着 Electron 应用通常需要更多的硬盘空间和内存。

    其次,Electron 应用的性能通常不如原生应用。因为它们是基于网页技术开发的,所以它们会受到浏览器的限制,运行速度会慢于原生应用。

    此外,Electron 应用也有一些安全问题。因为 Electron 应用是基于网页技术开发的,所以它们存在一些网页技术存在的安全漏洞。

    因此,Electron 受到了一些人的质疑。对于一些人来说,Electron 应用的体积大、性能差和安全问题是不能接受的。所以他们可能会更喜欢其他的框架,比如 Tauri ,它可以开发轻量级的原生桌面应用。但是,这不意味着 Electron 一定不好,它对于一些特定的场景还是很有用的。
    rpish
    rpish
    Dec 4, 2022❤️1
    143
    口嫌体正直
    你问程序员喜欢 electron 吗?都说讨厌.
    你问喜欢这些 electron 应用吗?又不讨厌了.
    https://www.electronjs.org/apps
    KENNHI
    KENNHI
    Dec 4, 2022 via Android
    144
    因为用 electron 就算了,做得也烂,体验也是网页。做得好的有 vscode ,做得烂的有 teams ,骂的肯定不是 vscode
    xiaohundun
    xiaohundun
    Dec 4, 2022❤️1
    145
    这个工具是我想要的,谢谢作者
    hongchaodeng
    hongchaodeng
    OP
    Dec 4, 2022
    146
    @qsnow6 Electron 也不等同于 web 的... 我们在跨平台上也花了不少功夫。目前 web 端还在测试中,有一些功能有问题呢亲~
    Znemo
    Znemo
    Dec 5, 2022
    147
    @pengtdyd 终于看见个真实的
    honghaoz
    honghaoz
    Dec 5, 2022 via iPhone
    148
    就跟上幼儿园开卡车去一样。一个 mini app ,包装个浏览器,还加上一堆有的没的的依赖。臃肿至极。
    wangtian2020
    wangtian2020
    Dec 5, 2022
    149
    @MengiNo 建议不用 rust 开发的软件全都批判一番,因为“牺牲用户体验换开发效率”了
    cdxjcl123
    cdxjcl123
    Dec 5, 2022
    150
    也不是说讨厌 Electron
    如果有别的非 Electron 的同功能备选项,就不会选择 Electron
    shabbyin
    shabbyin
    Dec 5, 2022
    151
    @pengtdyd 哈哈 看破不说破 都是工具而已
    jack230230
    jack230230
    Dec 5, 2022
    152
    其实并没有讨厌。这主要还是一个性价比问题,软件足够优秀,就可以忽视他内存和磁盘占用问题,不够优秀,自然觉得臃肿。多么简单的道理。
    noahliaszn
    noahliaszn
    Dec 5, 2022❤️2
    153
    ChatGPT:
    有几个原因:

    Electron 应用的运行速度很慢,因为它需要运行一个完整的 Chrome 浏览器来渲染界面。

    Electron 应用的体积很大,因为它包含了 Chrome 浏览器和 Node.js 的运行时,这会导致安装包很大。

    Electron 应用的安全性不高,因为它依赖于 Chromium 浏览器,这意味着它存在许多与浏览器相同的漏洞。

    Electron 应用的跨平台性不好,因为它需要在不同的操作系统上编译,这意味着你需要为每个平台维护不同的代码。

    Electron 应用的可维护性差,因为它需要维护两个不同的代码库( JavaScript 和 C++),这增加了开发难度。
    hongchaodeng
    hongchaodeng
    OP
    Dec 5, 2022
    154
    @Alias4ck ChatGPT 没跟上时代啊... 跨平台和可维护性觉得是 Electron 的优势。安全就太复杂了,没有哪个可以说更安全。
    wanacry
    wanacry
    Dec 5, 2022
    155
    一个主要原因是 Electron 会导致应用程序的体积增大,并且会消耗更多的资源。另一个原因是它并不是所有情况下都是最佳选择,并且由于它是一个跨平台框架,开发者在设计和实现应用时可能会遇到一些挑战。
    agagega
    agagega
    Dec 5, 2022
    156
    用 Electron 是可以理解的,但有相似选择时,我会用钱给不用 Electron 的那个投票。

    「原生」和「跨平台」这两个要求太难同时成立,就像 Windows 和 Linux 的 I/O 多路复用很难用一套 API 统一一样(设计上只能牺牲一方)。要么就是类似 Flutter 或者 Compose Desktop 的自绘方案,但还不成熟。

    Electron 的很多问题并不是 Web 技术固有的,只是像前面 V 友说的一样,前端程序员水平参差不齐。在浏览器这个有限制的环境里都能捅篓子,到功能更丰富的 Electron 这里体验不好很正常。
    lyzhang1999
    lyzhang1999
    Dec 5, 2022
    157
    CPU 和内存不是拿来压榨难道天天 5% 的使用量打败全国 99% 的用户吗。

    还有说重复的 chromium 和打包体积大的问题,你电脑里一部小电影都 1G 了。
    frodez
    frodez
    Dec 5, 2022
    158
    holulu
    holulu
    Dec 6, 2022
    159
    挺想试试 He3 的,却没有 Linux 版本。不是说 Electron 跨平台兼容性好么?怎么都不 for 流行的 Linux 发行版?个人感觉跨平台兼容性目前应该没有哪个做得好到能轻易构建一个完整应用的。用着用着就发现不同平台之间的差异并不是一个框架或库能 cover 的。以前也觉得用个跨平台的库能节省多平台开发的时间,但那只是初始阶段而已。过了那个阶段之后就越来越感觉还不如一个平台开发一套省心。如果真觉得一个平台开发一套费劲,为何就不能做 web 呢?其实很多开源实用工具都是 cli+web 的模式,让用户选择用 cli 还是 web 。web 直接打包在 cli 里,需要用的时候一个 cli 命令就打开了,什么都省了。
    hongchaodeng
    hongchaodeng
    OP
    Dec 6, 2022
    160
    @holulu

    > 个人感觉跨平台兼容性目前应该没有哪个做得好到能轻易构建一个完整应用的。用着用着就发现不同平台之间的差异并不是一个框架或库能 cover 的。

    赞同~ 跨平台我们还是花了点功夫的。
    He3 其实内部发布有 Linux 和 Web 版本。但是测试下来还是有些功能不可用。所以还在修复中。下个版本发布 Linux 。
    但是总体下来这些跨平台工具还是省了不少事情。而且用大家熟悉的语言和库 (html, css, js) 来开发还是非常方便的~

    接下来我打算写篇文章更详尽地阐述和记录我们的技术选型,趟过的坑,以及反思哈。
    chuck1in
    chuck1in
    Dec 18, 2022
    161
    楼主这个工具还是不错的,其实用户最关心的还是卡不卡。如果不卡,很顺畅,谁管你用的是什么。he3 目前还是有点小卡,希望能够继续优化。
    建议可以对比一下 1password 最新版,他们也是用的 Electron ,但是实际使用并不卡,非常流畅。
    CyberZCS
    CyberZCS
    Dec 27, 2022
    162
    @sch1111878 javafx 应用现在打包已经不需要完整的 jre 了,用 jlink 和 GraalVM 编译打包,无论是体积还是速度都比 electron 打包出来的应用强多了
    daliusu
    daliusu
    Jan 13, 2023
    163
    @butanediol2d Electron 把很多网页前端的设计带到了桌面端软件上 这是普遍存在的,但是如果不是 electron ,很多软件在非主流平台根本就不会给你做... 最多给个阉割版的网页让你凑合用
    butanediol2d
    butanediol2d
    Jan 13, 2023 via iPhone
    164
    @daliusu 所以,为什么不干脆提供一个好用的网页版呢。很多应用其实并不需要 Electron 带来的额外功能,移植到网页版也就一脚的距离。Electron 再跨平台,能比浏览器再跨平台吗?
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4014 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 149ms · UTC 07:01 · PVG 15:01 · LAX 23:01 · JFK 02:01
    ♥ Do have faith in what you're doing.