为什么大家这么讨厌 Electron?

2022-12-03 11:54:34 +08:00
 hongchaodeng

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

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

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

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

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

21095 次点击
所在节点    程序员
164 条回复
mmm159357456
2022-12-03 11:56:30 +08:00
因为“大”
mofe
2022-12-03 11:56:45 +08:00
可能是效率工具不希望启动慢吧
beisilu
2022-12-03 11:59:22 +08:00
个人是因为国内移动端生态为了热更新的混合应用体验差,导致对这种套壳都没有好感。
jorneyr
2022-12-03 12:01:08 +08:00
大家喜欢的是小而美。
Jirajine
2022-12-03 12:01:54 +08:00
体积大、重、启动慢、占用多。
看看你电脑上装了多少个 chromium 了,除了少数开源且适配 electron 新版本快的应用可以复用一下,其他的每个应用都带一份 chromium ,用户当然讨厌了。
superrichman
2022-12-03 12:03:26 +08:00
现在不反感 electron ,因为电脑性能上来了,electron 的缺点不如以前明显。而且的确有一些很优秀的 electron 应用,体验很不错。

但是还是有更多的 electron 应用写的太烂,还要占一大堆资源,这就很讨人厌。
makelove
2022-12-03 12:04:15 +08:00
html 不是问题,问题是明明系统 webview 已经挺好用了还要自带一个 chrome ,浪费硬盘和内存
rekulas
2022-12-03 12:06:48 +08:00
缺点除了大之外还对客户端市场造成了不良影响

举个例子,某笔记团队本来是用的原生开发的,使用体验尚可,后来为了节约成本换 electron ,公司倒是省了用户就无语了,占用资源多偶尔还卡死,而这样干的当然不止这一家公司

所以大家也是苦 electron 久矣,如果能有替代品出现自然免不了一番吐槽
不过对于 tauri 能否担负起这个重担还是持怀疑态度
chonger
2022-12-03 12:10:00 +08:00
不是码农,对 Electron 没有恶意,反而对用 mac 的我来说,Electron 使得跨平台更容易,这使得 mac 上的可用的软件得以扩充,现在好几个常用的都是如此。
我想对于 mac 和其他小众操作系统来说,先解决有没有的问题才是最重要的吧。
rekulas
2022-12-03 12:10:09 +08:00
@rekulas 据我所知 某些用户为了拒绝 electron 版本一直坚守使用老版本客户端
MengiNo
2022-12-03 12:10:09 +08:00
electron 只是一种妥协,或者说是开发人员牺牲用户体验换开发效率的 “偷懒”。那在明明知道有更好的预期的情况下,肯定对 electron 比较反感。

加上能 electron 的很多都能直接 web 化、pwa 化,electron 相当于让用户没事在电脑里装 n 个 浏览器,有些人也不太能接受。

还有就是这玩意的下限确实太拉了,只贪图快用什么二开框架随便多平台编译一下出的 “半成品”(类似 uniapp 这种,不知道桌面端是什么),和 vscode 这种 “第一方” 完全天上地下(或者说强如 vsc 其实也不尽如人意,何况其他的)
kran
2022-12-03 12:13:48 +08:00
不如启动一个本地服务,用系统浏览器打开,体验也不错吧
miv
2022-12-03 12:15:28 +08:00
用着这个工具了,说下体验。
里面有几个小功能确实不错。
而且免费,感谢开发者。
booleturing
2022-12-03 12:18:14 +08:00
歪个楼,既然你的 He3 都用 electron 了,为什么不顺便打包一个 linux 平台的包呢?
hez2010
2022-12-03 12:19:03 +08:00
因为 electron 又大又慢还对系统支持不好

- electron 的窗口是自绘的,因此无法自适应系统主题、控制按钮扩展以及透明效果
- electron 自己带一个 chromium ,然而明明系统里本身就有 WebView 控件,属于脱裤子放屁浪费磁盘,说兼容性的难道打包发布不都是直接 target 到 ES6 吗
- electron 的主进程也是 js 写的,然而主进程涉及到消息事件循环等 CPU 较为密集的场景,性能非常烂,更别提浏览器进程和主进程相互 RPC 的性能就更拉了

而 tauri 虽然也是 web 方案,却没有 electron 的问题
- tauri 的窗口仍然是系统的原生窗口
- tauri 直接调用系统自带的 WebView
- tauri 主进程是 rust 写的,对于 CPU 密集的场景也没有性能问题
wuyiccc
2022-12-03 12:19:08 +08:00
@rekulas 盲猜有道云笔记
subframe75361
2022-12-03 12:21:43 +08:00
如果 pwa 能访问本地目录就好了
然而从安全性方面来说,一个网页能够持续使用客户机文件系统是不能允许的
butanediol2d
2022-12-03 12:22:05 +08:00
我不关心性能问题,现在大家的设备性能基本都够用。

Electron 把很多网页前端的设计带到了桌面端软件上,这是我讨厌它的关键原因,因此我对 Tauri 也没好感。

无论是 Windows 、macOS 还是 Linux 上常用的 GTK 等,原生的控件不带那些花里胡哨的 transition 、tooltip 是有原因的,这种风格真的很不适合桌面软件,再好的优化也无法弥补。

Electron 的性能问题又被基于 DOM 的渲染天生自带迟滞感和过度的设计放大了,导致很多用户最直观的印象就是“卡”。

还有人用 VSCode 举例子,VSCode 的性能确实在 Electron 软件中出类拔萃,但如果花同样的精力去优化一个原生软件,相信效果会更好。
rekulas
2022-12-03 12:26:56 +08:00
@wuyiccc 😄😄😄
DOLLOR
2022-12-03 12:30:27 +08:00
@subframe75361
chrome 现在提供了 showDirectoryPicker 接口,在用户授权使用一个目录后,就可以自由的在这个目录里读写文件了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/899773

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX