终于有办法禁止 Electron 软件的安装和运行了

2020-12-06 15:51:01 +08:00
 ilolita

害……作为用户,我对 Electron 简直深恶痛绝,一言难尽……

今天百度某个软件的汉化方法时,无意间发现发现了一个叫做 app.asar 的东西,搜索了一下,原来是 Electron 构建的软件基本都有这个东西,那么如果我禁止一切文件扩展名为 .asar 的文件运行是不是就可以干死用 Electron 写的软件了呢?

亲测有效,如果还有其他方法,欢迎补充!

14401 次点击
所在节点    分享发现
117 条回复
namelosw
2020-12-07 12:14:08 +08:00
@abcbuzhiming

1. 我的回复只针对“痛恨 Electron 却还得看扩展名”的人
2. 我没说 Electron 好或者坏
3. 我没当传教士
4. 我还没见过信仰 Electron 的…… 信 PHP, 信 Haskell 的都见过一堆, 就是没见过信 Electron 的…
5. “不知天高地厚”, 然后 raise 出来 C++? 如果 Electron 真像很多人说的那样恶心用户的话, C++就是程序员界的 Electron… 同类型的 C 和 Rust 的 asthetics 都比 C++强多了.
damngood
2020-12-07 12:14:37 +08:00
@hakono 有可能还有相关的 helper 进程的资源占用没有计算到... slack 应该不止这么点占用. 而且不光是内存, 还有 cpu 和磁盘
u6pM63mMZ34z32cE
2020-12-07 12:18:00 +08:00
奇葩数量 +1
cmdOptionKana
2020-12-07 12:19:09 +08:00
@abcbuzhiming #63 “因为现在抱怨网站卡的人你渐渐看不到了,因为中国有 10e 用户把这些抱怨的人稀释掉了。别以为现在网站做的性能有多好似的”

主流网站,包括各大厂的首页(比较简单)、各种论坛 /社区(还是不复杂)、京东淘宝等购物平台(这比较复杂了)、优酷 B 站等视频网站(也比较复杂)、各种在线编辑器 /在线表格(这些需要极大量的 js )……

这些网站我都用过,没有发现哪个性能不好,你能不能举个例子,说哪几个网站很卡?

另外,你说 “前端三大框架和各种脚手架的诞生产生的一个负效应就是前端写翔山比过去容易多了”,这句话是不是对前端框架有误会?

前端三大框架很明显是用来组织代码,用各种公认比较好的编程模式来组织代码,比过去 jquery 时代,代码肯定是更有条理、更方便团队合作的。

现在前端复杂,主要是用户的需求更高,以前很简陋的页面就能满足,现在不做好看、不多做些动态,用户就觉得你 low,就不爱用。

需求不一样才是根本原因。
whypool
2020-12-07 12:33:45 +08:00
现在跨平台才有用户增量
如果是现在搞桌面软件,首选 e,没其他选择
性能差异又不大,又不是不能用
如果大厂有能力封装,能看出用 e 的还是比较少
3dwelcome
2020-12-07 12:33:57 +08:00
@cmdOptionKana "需求不一样才是根本原因。"
我就是觉得什么需求都往前端里加,代码量成倍上去后,前端代码才会变成翔山。
这和用什么框架关系不大,就是没有合理的软件上下分层。
比如密集型计算,以前是放后端在服务器运行,现在也搬到客户端也可以运行,但毕竟 JS 也不是万能的啊,各种乱七八糟不合理的需求加一起,才是 Electron 质量低下的根本原因。
nicevar
2020-12-07 12:34:50 +08:00
Electron 的软件就是有替代品的尽量不用,确实即占硬盘空间运行效率也低,不是每个人都是 1T 的 SSD,如果是我即使 1T 的 SSD 我要装的其他软件很多,也架不住一堆 Electron 软件。
很多人喜欢拿 vscode 举例,vscode 那是微软出品的,比说 Electron 了,当年的 c#出来的时候写的软件也是卡成狗,微软自己用 c#写的 Paint.NET 流畅的一匹,结果是人家从底层进行优化了,人家的资源配置跟普通公司是两码事。
abcbuzhiming
2020-12-07 12:43:58 +08:00
@namelosw
1.每个人的认知能力有区别,有些人被 Electron 恶心,但是只能看扩展名才能分辨 Electron,不是他们的错
2.你确实没有明着说 Electron 好或者坏,但是你明着在鄙视那些厌恶 Electron 但是却无法一眼看出 Electron 的用户。
3.传教士这句话不是说你的,是楼里的某些其它人,懒得再开一贴了
4.那也不是说你的,其它同上
5.先说明不是说你的,其次我并不觉得 C++这玩意多好,我只是想说现在的程序员终于可以摆脱 C++了,但是他们走向的是另外的极端——以喂用户吃屎来提高自己的开发体验
abcbuzhiming
2020-12-07 13:06:36 +08:00
@cmdOptionKana
以下是我的真实经历,大约 4-5 年前,我当时用当时的主流入门 CPU intel core 奔腾系列,2 核,睿频大约只有 3.x,8G 内存。配了一台 ITX 电脑。这个电脑在当时打开京东淘宝 B 站,用 chrome 浏览器,那是非常流畅迅速的。但是仅仅过了 3 年左右的时间,我再用这台电脑去开这些网站的首页,就能感觉非常的卡顿——我是 dos 时代过来的老人对性能很敏感,我不觉得这是我的感觉异常。

察觉到有问题后作为一个曾经的 diyer 首先就是把自己的电脑整个重新捣鼓了一遍,重装系统,重装 chrome,再试?没什么卵用,换了一块 ssd,还是一样。

我当时就觉得很奇怪,因为我觉得这三个网站的首页在显示上其实和三年前比起来没有什么大变化啊。我甚至一度怀疑,是不是不是网站的问题,是 chrome 的渲染引擎效率下降了?但是我后来在一个伪程序员论坛发了几句牢骚说“现在这些网站吃性能咋这厉害,三年前还流畅的配置,三年后我没见页面有啥变化咋跑起来好卡”。。。然后就有大厂程序猿出来教育我:你当前端技术三年不进步的吗?这些进步不吃性能的吗?你觉得页面没变化,你怎么知道在你看不到的地方我们改进了各种流程,实现了各种技术,加了多少新的监控,这些凭什么不能吃性能。。。。还要让我“耗子尾汁,现在 PC 用户是非主流,大厂不会为了你们去做性能优化的,还能用就算不错了”。。。

我能说啥呢?虽然我是程序猿但我不是前端专家,我只能认为那个人说的对,时代进步的,旧机器被放弃了。PC 电脑用户的钱不是钱,穷鬼不配谈性能用户体验。。。。。。



另外我虽然不是前端专家,但是我对三大框架的存在意义,并不是完全不了解,框架代表约束,约束就是为了组织更大的规模。所以我不觉得我说错了,以前没有框架,水平低一点的人是根本搞不起复杂一点的前端程序,有框架当然是一种进步,但是负效应是,框架只能提升规模,没法提升性能,而规模的提升,是要用户的电脑性和带宽能来买单的。这就是我说的负效应。我并不是说,因为有负效应,所以我们就不要三大框架,有框架总比没框架好,前端能成就更大规模更复杂的程序是历史趋势,我并不是反对这种趋势。我只是要强调:这种革新不是没有代价的。

而且,现在的前端的问题,是进步的远远不够,而不是进步的很好。只是这个问题,在 PC 端用户式微,手机用户普遍 App 的时代,被掩盖起来了,所以就给人一个错觉:上面不是有人说吗——我们网页性能用起来很好,怎么打包成 Electron 性能就不好了,是不是你们开发水平问题?那我就要说了,什么?网页性能很好?你确定?
namelosw
2020-12-07 13:14:18 +08:00
@abcbuzhiming

> 以喂用户吃屎来提高自己的开发体验
放心, 即使这种团队做 native, 也是 native 的屎. 他们的目的就是凑合做一个 app, 我用过的凑合做的 native (各种 devtool 是典型) 绝大多数体验都不及 electron (因为预算本来就小, 因为 native 活相对多一些, 就只能更凑合了).

我要说的现象是只有程序员才鄙视 Electron. 用户只会关心这个软件用着是不是难受 - 有很多用着难受 Native app, 也有很多用着不难受的 Electron app. 很多程序员专门一棍子打死 Electron, 这跟“xx 人素质都低”或者“x 人都懒”有什么区别?

很多团队嘴上说体验, 各个平台搞了 native, 结果几个团队都没法对齐, 功能都维护不好. 做 Native, 不说 VSCode, 好歹能达到 Discord 这种 Electron + React Native 这种水平的体验再说, 不然 Native 有什么意义… 我见过 average 水平的 native 团队基本都是这样的.

---

在中国, 最早只有精英厨师才能花很多天做出来各种很鲜的汤, 然后让菜肴更鲜美. 后来从日本传来一个发明, 叫味精, 让普通人也能无脑做出很鲜的菜肴, 立刻风靡起来.

但是故事并没有结束:

1. 在中国, 如果普通厨师能很容易做出来好吃的菜, 那还请精英厨师干什么? 于是德高望重的厨师们就开始利用自己的地位打击味精, 对身体不好, 或者评判菜色好坏先取决于放没放味精. 现在大多数人还有味精不好的印象.

2. 在美国, 因为味精的流行, 中餐馆的火爆程度直线上升, 严重打击了其他餐馆. 于是人们又开始担心, 后来出现了味精会损害神经系统的研究. 后来中餐馆就逐渐不妨味精了.

很多年前, 我见过一开始积极打击 Electron 最积极的基本上都是 native dev, 后来才逐渐转播到其他 dev 群体上. 感觉和味精的故事很像.
shunia
2020-12-07 13:17:07 +08:00
@paradoxs #8 Mellow 了解一下
namelosw
2020-12-07 13:21:03 +08:00
@abcbuzhiming 你说的这些网站感觉卡顿的情况是存在的.

不过原因不在前端框架, 在于删功能没有 KPI. 这几年团队实践都上道了, 从功能到开发不会像以前那样磕磕碰碰了, 每个月新加的功能越来越多.

白板 React 和 Vue 其实是很快的, 比 jQuery 大不了太多, 这些大厂要是每年只挑核心功能重写一遍肯定快.
Vegetable
2020-12-07 13:24:04 +08:00
无论如何这种行为都是喂自己吃屎,要不就是打自己脸解除限制真香,要不就是硬着头皮找代替产品,自己绑住自己罢了。
charlie21
2020-12-07 14:11:23 +08:00
@namelosw 为什么你故意隐藏故事结果呢?故事的结果就是:随着时间发展,在小公司里写 Electron 的开发者会逐渐把写 native 的开发者给替换掉,饭碗都砸掉

只要开始写 Electron 了,写 Electron 的人就是要逐渐把你们写 WPF 的给替换掉。到时候余下的你们不得不陪着 node.js 那帮人年年学新招式,陪他们内卷。这叫引狼入室( 彼时看公司人员构成,WPF 小团队已经被砍掉了,客户端都是写 Electron 的了 而且是年年追着最新版的 Electron )

被替换的人 自然就担心,替换人的人 自然就不担心,那无知的孩子:她那时候还太年轻,不知道所有命运赠送的礼物,早已在暗中标好了价格。 —— 你就是这价码的一部分,那分不清什么叫 优胜劣汰、引狼入室、良币驱逐劣币、劣币驱逐良币的人 就是这价码的一部分

前端界的政变 /t/277607

半次郎说:
我今天的命运,
可能是其他人明天的命运。
那些注意我故事的人,
甚至会发现某些珍贵的智慧隐藏在当中。
https://www.bilibili.com/video/BV1v4411q7dU
paoqi2048
2020-12-07 14:19:03 +08:00
LZ 在线暴打 Electron,可以的😎
MengiNo
2020-12-07 15:01:57 +08:00
@namelosw 好一个只有程序员才鄙视 Electron,我可以理解成:喂门外汉、小白们吃屎的行为被有技术的人揭发了,开始解决发现问题的人吗。是不是程序员丝毫不影响我是一个用户。
3dwelcome
2020-12-07 15:37:39 +08:00
@charlie21 “随着时间发展,在小公司里写 Electron 的开发者会逐渐把写 native 的开发者给替换掉,饭碗都砸掉 ”
有了 nodejs 后,仿佛前端,后端,客户端,移动端无所不能。事实真的如此吗?并不是吧,本帖提到的卡顿就是最好的证明。
任何语言都是有其擅长和不擅长的,比如 C++擅长计算,JS 擅长界面。一个项目里,用户需求总会随着时间推移,不断变多,等大量新需求硬塞到前端框架里,最后必然变慢变卡,遇到性能问题,这谁都阻止不了。JS 诞生的时候,也不是为了来解决超级大项目,是 nodejs 促成了这个契机。
至于你提到的 native 码农会被替换,在很早之前,调用 API 逻辑层码农,就是铁打的兵营,流水的兵,换了一批又一批。不变的,只有那些写核心 C++的底层代码的老人。
KeyboardManAnAn
2020-12-07 16:04:04 +08:00
Electron 这种套壳应用确实令人深恶痛觉, Flutter 桌面端兴起之后或许能治一治它,唉
charlie21
2020-12-07 16:07:27 +08:00
开阔的眼界不一定能得出善良的结论,反而会加剧固执。
其实借由 electron 的跨平台特性 可以允许一个非常低廉的开发者(开发者水平)用非常低廉的成本(开发所用的人 /天数)开发出一组非常低廉的跨平台软件(能跑),但这反而告诉了人们好软件该值多少钱,用低价获取到的到底是什么
求仁得仁
-
KeyboardManAnAn
2020-12-07 16:21:03 +08:00
像 tauri 像这种借用原生 WebView 控件来生成套壳应用的技术都比 Electron 好十倍

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

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

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

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

© 2021 V2EX