了解一下各位对 Electron 等框架的看法

之前在一些开发者社区调查过开发者对 Electron 的看法,意见比较割裂:有觉得是跨平台应用的未来之光的,也有觉得是当代软件产业结出的毒瘤的……

那么各位站在用户角度,会怎么看待 Electron 框架(以及其他 CEF 和 Web App 技术,例如 Tauri、xxx.js 等)呢?

  • Electron 人类之光,所有软件现在都换成 Electron 才好
  • Electron 的本意是好的,只是被软件和框架开发者(例如捆绑 CEF 内核、缺乏优化等)执行坏了
  • 我不关心开发者用没用 Electron,有软件用就行了,别挑三拣四
  • 只要时间允许,我会去寻找非 Electron 的替代品(例如第三方客户端)
  • Electron 纯毒瘤,Web App 什么时候 * 啊
0 投票人

欢迎各位友好讨论。

深刻感受到electron的方便,同时也深刻感受到了electron方便带来的恶果。

example:

有个electron检测程序(好像叫ctf来着?忘了),之前青蛙推荐过,他推出了electron版(当然是带着点黑色幽默在的),这类本可以使用c/c++/rust,哪怕是易语言,aardio或者python编译(打包)发布后能在15M内解决的小问题,也硬要塞个electron进去的情况我坚决反对

但是,还有一种情况:NT QQ。这玩意我一开始也是很反感非要用electron重写的,但是现在阶段,我发现他真的优化很好,不卡顿,占用空间相对以往没啥变化,消息接收快,所以我现在逐步转变了态度。此外,vscode也是轻量级选手,优化不用说,打开速度刚刚的。这种使用或换用elecrton以后能给用户带来显著优化的,我举双手支持。

话又说回来,现在我们这些人怕得最主要原因其实就是一些不会写gui的开发者(或者说为了省事),硬要发布一个原本可以用cli解决的程序,又为了好看,用了electron写了个gui,导致发布时优化炸裂,体积爆炸,功能简陋……说白了就是我们对于“硬盘空间-程序功能”的期望与实际不对应的矛盾……

(真心恳求部分开发者,不会写gui咱就不要写,等个社区的GUI,然后看看能不能和GUI作者一起鼓捣他不好吗,你看realesrgan模型的GUI多如牛毛,哪怕是star只有150个的Rimage,它的GUI都有3个……)

5 个赞

你大一点,可以。但功能不太多又占用很多资源的那种我是不可以的。
说起来就是一个性价比问题,我认为一个功能大概几M就能实现的非要塞个上百M占用1%CPU,这种我就很烦。
像功能复杂优化不错的,比如 vscode, NTQQ 这种其实我能接受的,但有些快捷软件或者鼠标手势软件也这么搞我是绝对反对的

1 个赞

我最看重的是跨平台和更新频率,至于用的具体技术是Electron还是别的什么,只能说有原生客户端固然更好,用框架也没什么意见。

但还是希望Electron能搞一个类似System Webview的安装机制,不同版本可以并存,但同一个版本装了很多遍这种事还是希望能避免

electron导致我现在看到软件安装包100~200M就直接不下了。

3 个赞

救命,为什么我的hello world有一个G这么大

3 个赞

@Yggdrasil-y 赞同,我即使下载了一看Electron框架也直接删了,除了Obsidian。

Electron让电脑里跑一堆浏览器,让人觉得本地应用都和网页客户端差不多了。

其实并不讨厌用Electron开发出来的东西,可能是因为我电脑内存足够用,硬盘足够大,在用的时很难让我感受到卡顿。

讨厌的是什么都是Electron,一有新的好玩的,一看Electron,就很不得劲,其实很想看到其他的框架开发出来的东西啊,感觉现在很少在开源项目上看到老大哥 Qt 开发出来的东西了。

唉,谁叫Web那套技术栈现在是真的很好用,从业人员也多。

内嵌一个Chromium也是够吐槽的了,虽然只是渲染部分,不能轻松复用的确是有大病。

好用不是它的原罪,臃腫才是

不過大家只要把這當成是 一錘子買賣 即可
買蘋果還送蘋果樹

(主帖的回复不见了?幸好我有 Textarea Cache)
对我来说,需要用到时打开不用时关闭、不需要长时间占用电脑资源的,只要功能合适,大一点没所谓;需要长时间开着用的超级工具,例如 VS code ,只要不卡也没所谓(说你呢 Kate);不符合上面两点,我就要去找替代,直到不得不边骂边用为止。
话说 VS code 装多了扩展之后,那内存占用和磁盘占用都很凶猛……就很electron……
——分割线——
我虽不算开发者,但也写过些代码,所以也蹭一点开发者的边,我觉得从开发者的角度,实现某个功能的“能用”到“可用”比自己手搓一个界面重要得多,尤其是个人或小组作者(大公司要品牌影响力,UI设计师总不会缺吧?),所以能electron干吗自己废功夫?
——分割线——
当然基于这样的角度,作为用户也就会觉得用electron的是不是技术力显得比不用的差点?至起码从软件体积来看也会有对比。
所以即使有人说 ditto、copyq 这些剪贴板工具多么牛逼,我还是觉得用 ArsClip 最舒服,无论从体积还是界面还是操作上。

价值是使用electron框架的软件提供功能, 不是框架

electron对用户来说最大的意义就是跨平台统一体验。
但是多开几个electron的CPU/内存/硬盘占用,已经高于直接开虚拟机了, 那。。。

我的常用软件(指需要固定到任务栏, 甚至开机自启动的)里,没有一款electron的。
甚至主力浏览器我都换到Firefox系了。
为什么不用chrome系?就是因为为了“跨平台”chrome牺牲了太多PC端的体验。

非要用electron的情况, 基本上只有厂方不公开API没有第三方客户端, 以及打开一小会, 用完就可以关闭这两种。
如果是个人开发者、小团队, 开发的软件是随用随走类型的, 我是理解的.
大厂们, 屁大点功能, 非要用electron的, :face_vomiting:

和写注释一样,最讨厌的两件事:别人用electron开发应用、我不能用electron开发应用

对我来说,目前桌面端dev的推荐程度:
PWA > Webview(Tauri/Wails) > Electron/QT/CEF > 其他

3 个赞

Tauri/Wails我觉得才是正确的未来方向。Electron因为每个app都独享一个chromium,并且因为版本号细小差异的原因,哪怕用第三方工具也没法很好的减少相同的chromium体积。实际上蛮多app对chromium版本并没有那么严格的要求,基本上是那种 某个版本之后绝大多数app都能正确运行的类型。
tauri和wails用的都是系统里面的统一的组件,方便管理,也不会过于冗余,随系统更新。

不是说web作为跨平台技术不能拿来做这些事,只是electron的处理方案实在是不够优雅。

好像部分朋友对 Electron 本身意见大,这里不带立场地给开发者朋友们推荐一些除了 Tauri 和 Wails 以外的替代 Web App 框架/技术:

  1. Ultralight:基于经过删减优化的 WebKit 内核,宣称基本内存占用只有 9MB、速度比 Electron 快 80%;
  2. Neutralinojs:使用系统自带的内核,宣称内存占用只有 80MB、空包应用体积只有 1MB;
  3. sciter:基于自行实现和删减的 QuickJS 内核,宣称内核总体积只有 5MB。
    • 广泛用于杀毒软件和游戏 UI,例如 ESET、Norton 360、Avast、BitDefender、War Thunder 的 GUI 据说都基于此框架。
3 个赞

虽然我电脑上VSCode一直开着,电脑里也有诸多Electron的软件,但是我非常讨厌Electron。
是,我内存很足。是,我硬盘容量也大。是,现在内存和硬盘“白菜价”。等等等等。
但是再大的内存和硬盘也架不住一个个的Electron啊,还全往C盘里塞,还都自动更新。
电脑不是单任务的,是多任务的,会同时开好多软件的。但是Electron类的我平常只也敢开一个VSCode和Edge,其它的只能用的时候临时打开再关闭。搞得跟手机这种默认只有一个APP在前台似的。

3 个赞

Electron最大的问题是 庞大,安装后400M!
其次的问题是 html的操作体验差,web网页也就捏着鼻子忍了,桌面程序还这样就忍无可忍了。。。。

庞大的问题,感觉应该可以很容易解决(就像npm的库结构问题):
gg提供一个通用的基本框架(350M),不同的开发者为实际实现自己的功能增加5-20M的扩展。
每个系统只要一套基本框架+很多个5-20M扩展

2 个赞

我们需要一个跨平台的Webview规范,能够让各平台内置一个标准的webview内核,也许才能真正解决这个痛点。

比较抗拒空包大小太大的我,最喜欢的是PWA,其次是wails。
但PWA在一些场景也有它的局限,所以从泛用性来说,我们还是会需要一个native的解决方案的。

2 个赞

我觉得,如果的确需要用到浏览器渲染或者处理,用electron也可以。但是很多情况下,一丁点大的事情,甚至直接用浏览器打开网页文件就可以,比如yt-dlp的gui,都用到了electron,太过泛滥了。

1 个赞

除了 vscode 这种深度定制优化的,感觉大部分 electron 应用可以做成 aria2c + webui 的形式

即是用户也是开发者,electron对于现代电脑来说资源占用和性能优化都是可控的。
对于信息化的软件项目来说,有限的成本的情况下,更应该专注于功能实现、创意实现和业务实现,electron是可接受。很多最终用户根本也不在乎那点资源占用,只要这个软件的目标用户可以接受,没什么不妥的。
对于性能要求极高的或者说高并发之类的场景,或者针对嵌入式之类的,那不应该选electron,什么不应该有界面。
介意这硬盘、内存占用的用户真的是极少数,对于开发者而言成本是有限的(不仅仅是金钱,时间精力也是重要成本),这就由市场来做选择和取舍吧。不过很多个人软件开发者根本也不太在乎别人想法,自己用的爽就行,给别人用那是顺便。
对于用户而言,如果有同类替代,那大可去选择框架更牛逼的替代。如果没有替代,既要又要,那就只能说你行你上,做个更牛逼的,证明你的选择是正确的。

1 个赞