终于有办法禁止 Electron 软件的安装和运行了
害……作为用户,我对 Electron 简直深恶痛绝,一言难尽……
今天百度某个软件的汉化方法时,无意间发现发现了一个叫做 app.asar 的东西,搜索了一下,原来是 Electron 构建的软件基本都有这个东西,那么如果我禁止一切文件扩展名为 .asar 的文件运行是不是就可以干死用 Electron 写的软件了呢?
亲测有效,如果还有其他方法,欢迎补充!


害……作为用户,我对 Electron 简直深恶痛绝,一言难尽……
今天百度某个软件的汉化方法时,无意间发现发现了一个叫做 app.asar 的东西,搜索了一下,原来是 Electron 构建的软件基本都有这个东西,那么如果我禁止一切文件扩展名为 .asar 的文件运行是不是就可以干死用 Electron 写的软件了呢?
亲测有效,如果还有其他方法,欢迎补充!


当然,作为用户,安装与否是最基本的权利。
只有小部分用户介意体积、资源,开发者毕竟只是凡人,只好放弃小部分,满足大部分。
以上言论仅参与此话题讨论,非针对或反驳个人
我想要纯手工用汇编语言写出来的应用,
要是能拿把刻刀,刻出一个跑通 HELLO WORLD 也行…………..
从平台特性来说,macOS 平台或者工具类的 APP,我个人也强烈建议使用原生开发,确实爽一些,特别是 macOS 平台。比较难受的是 Windows 平台,Windows 原生开发绘制 UI 的能力很差,逻辑处理很强,有时候他们也不得不进行混合开发,减少工作量,这样就需要内嵌一个精简版的 Chromium ( CEF ),因为阉割原因,体验不亚于 IE 浏览器,所以 Windows 软件开发涉及到工作量和体验的平衡。
最后就是作为国内程序员应该看到的一个大趋势 “国产化”,国产系统基本基于 Linux 进行开发,对于国产系统的平台支持也变得尤为重要,这时候如何快速的产出一个可以在国产系统安装的 APP 变成一个值得考虑的点
当你进行一个新桌面项目调研的时候,可以综合考虑下自己团队的实力,macOS 、Windows 、Linux 分别开发,修 3 遍 bug 好,还是一个 Electron 全平台统一好。
我从大学时候开始对跨平台技术感兴趣,一晃十几年过去了,希望推动桌面端跨平台、移动端跨平台在业内的进展,欢迎志同道合的朋友一起讨论。
谁说桌面电脑性能过剩的?我不是针对谁,现在程序员领域有两大歪风邪气:第一个歪风邪气叫“PC 电脑性能过剩论”,在持这种观点的程序员看 PC 电脑性能都过剩,一个程序占大几百 M 接近 1G 的硬盘,跑起来动不动几 G 的内存那是天经地义的。反正 PC 电脑用户的钱又不是我程序员的钱,所以 PC 电脑用户的硬件资源我用起来当然不心疼了对不对?第二个歪风邪气叫“服务器性能过剩论”,反正客户的服务器不是我掏钱,核心随便用,内存随便占。
Electron 的优势是什么? Electron 的优势只有一个,让那些已经有成型 web 页面服务的大厂把自己的 web 页面打个包就能直接在用户的电脑上跑,这不省开发成本吗?至于说用户用的舒服不舒服,体验怎么样,关我屁事,反正用户的电脑又不是我出钱,跑不动升级电脑呗,什么?你说没钱没法升级?滚!穷鬼,中国网民快 10e 了少你一个我才不怕呢,PC 用户又不是主流。。。
所以你看,没什么好的。这是对大厂最好的时代,对程序员也不错(不用管用户体验了好 high )。但是对于电脑用户来说,真的是个超级黑暗的时代。如果是 native 程序时代用过来的 PC 用户,能非常轻易的理解这点,Electron 这种 Web 应用打包到本地的用户体验,糟糕透顶!
根源是技术差或不重视,只要这样的背后因素存在,产出的应用就不可能好,与是否采用 electron 关系并不大。
哪怕但凡懂那么一点点技术的,应该都不会不知道,开发者明明可以用原生做的更好。但是开发者们不,哪怕这个 App 再多人用、再赚钱开发者们都不。作为一个用户,我不知道这是为什么,我也不想关心这是为什么,我只知道 Electron 做出来的 App 很卡反应很慢很吃内存,而有的开发者作践完我的内存和硬盘还要嘲笑我现在内存和硬盘都白菜价了我为什么加不起。
没有用户有责任和义务关心开发者的动机、苦衷和理由。或许开发者可以欺负普通用户绝大多数是门外汉,是小白,根本不懂技术。反正我个人觉得用户绝不应该是一个开发者眼中是抖 M 的,傻傻呆呆什么都不懂,给你吃屎就吃屎,有本事不要用,要用就别 BB,这种形象。但无论是这种性能体验问题还是隐私问题,用户极少被真正尊重。嘴上都是主义,心里全是生意。
例如这个开源软件: https://github.com/winXray/winXray 功能和界面都挺不错的,体积只有惊人的 740KB,这要换 Electron,那至少得好几百 MB,运行能占用几个 GB 的内存。
也就是,你要屏蔽你自己安装的东西还是屏蔽那些偷偷在跑的东西?
既然要屏蔽你自己安装的东西,卸载或者不开就行了呀。
如果是屏蔽偷偷在跑的东西,Electron apps 是否会这么干?
但其实不要抱怨他的存在:这样的人呢只会反而彰显了有追求的开发者的可贵
到最后还得看扩展名才能分辨出来? 如果体验都真那么不好还用, 一打开体验一下不就知道了嘛, 还用看扩展名嘛?
欲加之罪何患无辞.
前端三大框架和各种脚手架的诞生产生的一个负效应就是前端写翔山比过去容易多了,而且翔也没关系,反正跑的起来,至于用户体验是什么?没看上有人说 PC 电脑性能过剩吗。
“跨平台”很多时候并不能节省时间,Electron 要跟系统 API 做些简单的交互都非常麻烦,Electron 做的东西大多时候只是一个简单的网页套壳,并非真正意义的“桌面软件”,而且也不是每个 Electron 开发者都有 VS Code 的实力。
但是,我是主流吗?不是,我已经是一个“老头子”,从 dos 时代过来的非主流 PC 用户,我对我自己的处境有充分的认知,所以我也很少公开的喷 Electron 。因为我知道:“时代变了”,我不满意又能怎么样呢?
但是我要提醒已经开始膨胀的不知道天高地厚的程序“猿”,你们能这样肆无忌惮的喂用户吃 Electron 这套翔不是你们水平有多高,而是你们恰恰生活在了一个很好的时代——这个时代有靠中国的基础建设养起来的接近 10e 上网用户,大量的手机用户稀释了 PC 用户的话语权;而普遍性生活水平的提高使得确实产生了相当数量的高级用户,这些用户确实不在于 PC 硬件的价格(你看看 3080 一出来就被抢光)。所以,这个时代,大厂不需要在意 PC 用户的硬件水平和用户体验,程序员也跟着得益,不再需要为了性能去和 C++这样的高难度语言较劲。
我自己也是一个程序猿,大厂和程序猿们迎来了一个好时代,但是我还是请各位记住,这个好时代,不是因为你自身有多优秀而换来的。别膨胀的连基本的好坏都不认了。作为一个搞技术的人,如果连技术基本的好坏都开始不分了,变成了某种技术的信仰者和传教士,那可真是个人的悲剧
你说的这个,单纯就是 pc 不是主流了…大厂不像投入资源做这个事情
PC 呢,除非是商店,否则要不要盯着下载完成,然后一路 next ?一个 5M 秒下完的跟一个 200M 需要盯着的能不一样吗?
其次,同样的电脑配置下,qq 比钉钉响应快的多,要说 E 一点都不背锅我是不信的。
1. 我的回复只针对“痛恨 Electron 却还得看扩展名”的人
2. 我没说 Electron 好或者坏
3. 我没当传教士
4. 我还没见过信仰 Electron 的…… 信 PHP, 信 Haskell 的都见过一堆, 就是没见过信 Electron 的…
5. “不知天高地厚”, 然后 raise 出来 C++? 如果 Electron 真像很多人说的那样恶心用户的话, C++就是程序员界的 Electron… 同类型的 C 和 Rust 的 asthetics 都比 C++强多了.
主流网站,包括各大厂的首页(比较简单)、各种论坛 /社区(还是不复杂)、京东淘宝等购物平台(这比较复杂了)、优酷 B 站等视频网站(也比较复杂)、各种在线编辑器 /在线表格(这些需要极大量的 js )……
这些网站我都用过,没有发现哪个性能不好,你能不能举个例子,说哪几个网站很卡?
另外,你说 “前端三大框架和各种脚手架的诞生产生的一个负效应就是前端写翔山比过去容易多了”,这句话是不是对前端框架有误会?
前端三大框架很明显是用来组织代码,用各种公认比较好的编程模式来组织代码,比过去 jquery 时代,代码肯定是更有条理、更方便团队合作的。
现在前端复杂,主要是用户的需求更高,以前很简陋的页面就能满足,现在不做好看、不多做些动态,用户就觉得你 low,就不爱用。
需求不一样才是根本原因。
察觉到有问题后作为一个曾经的 diyer 首先就是把自己的电脑整个重新捣鼓了一遍,重装系统,重装 chrome,再试?没什么卵用,换了一块 ssd,还是一样。
我当时就觉得很奇怪,因为我觉得这三个网站的首页在显示上其实和三年前比起来没有什么大变化啊。我甚至一度怀疑,是不是不是网站的问题,是 chrome 的渲染引擎效率下降了?但是我后来在一个伪程序员论坛发了几句牢骚说“现在这些网站吃性能咋这厉害,三年前还流畅的配置,三年后我没见页面有啥变化咋跑起来好卡”。。。然后就有大厂程序猿出来教育我:你当前端技术三年不进步的吗?这些进步不吃性能的吗?你觉得页面没变化,你怎么知道在你看不到的地方我们改进了各种流程,实现了各种技术,加了多少新的监控,这些凭什么不能吃性能。。。。还要让我“耗子尾汁,现在 PC 用户是非主流,大厂不会为了你们去做性能优化的,还能用就算不错了”。。。
我能说啥呢?虽然我是程序猿但我不是前端专家,我只能认为那个人说的对,时代进步的,旧机器被放弃了。PC 电脑用户的钱不是钱,穷鬼不配谈性能用户体验。。。。。。
另外我虽然不是前端专家,但是我对三大框架的存在意义,并不是完全不了解,框架代表约束,约束就是为了组织更大的规模。所以我不觉得我说错了,以前没有框架,水平低一点的人是根本搞不起复杂一点的前端程序,有框架当然是一种进步,但是负效应是,框架只能提升规模,没法提升性能,而规模的提升,是要用户的电脑性和带宽能来买单的。这就是我说的负效应。我并不是说,因为有负效应,所以我们就不要三大框架,有框架总比没框架好,前端能成就更大规模更复杂的程序是历史趋势,我并不是反对这种趋势。我只是要强调:这种革新不是没有代价的。
而且,现在的前端的问题,是进步的远远不够,而不是进步的很好。只是这个问题,在 PC 端用户式微,手机用户普遍 App 的时代,被掩盖起来了,所以就给人一个错觉:上面不是有人说吗——我们网页性能用起来很好,怎么打包成 Electron 性能就不好了,是不是你们开发水平问题?那我就要说了,什么?网页性能很好?你确定?
> 以喂用户吃屎来提高自己的开发体验
放心, 即使这种团队做 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 群体上. 感觉和味精的故事很像.
不过原因不在前端框架, 在于删功能没有 KPI. 这几年团队实践都上道了, 从功能到开发不会像以前那样磕磕碰碰了, 每个月新加的功能越来越多.
白板 React 和 Vue 其实是很快的, 比 jQuery 大不了太多, 这些大厂要是每年只挑核心功能重写一遍肯定快.
只要开始写 Electron 了,写 Electron 的人就是要逐渐把你们写 WPF 的给替换掉。到时候余下的你们不得不陪着 node.js 那帮人年年学新招式,陪他们内卷。这叫引狼入室( 彼时看公司人员构成,WPF 小团队已经被砍掉了,客户端都是写 Electron 的了 而且是年年追着最新版的 Electron )
被替换的人 自然就担心,替换人的人 自然就不担心,那无知的孩子:她那时候还太年轻,不知道所有命运赠送的礼物,早已在暗中标好了价格。 —— 你就是这价码的一部分,那分不清什么叫 优胜劣汰、引狼入室、良币驱逐劣币、劣币驱逐良币的人 就是这价码的一部分
前端界的政变 /t/277607
半次郎说:
我今天的命运,
可能是其他人明天的命运。
那些注意我故事的人,
甚至会发现某些珍贵的智慧隐藏在当中。
https://www.bilibili.com/video/BV1v4411q7dU