我的软件迷思

我在一两年前曾经提及到一个观点:Electron 架构的软件均是垃圾。

随着我在工作与折腾的路上拓宽了软件使用面的宽度,电脑系统中不得不安装越来越多基于 Electron 架构的软件。而正是在这种在实际生活中愈发高频使用的体验,我开始对于之前的观点产生一点动摇。但我深知道自己的动摇不在于是非问题的判断上,而是从用户体验与效用角度审视后所感受到的违和,这种违和感使我不得不陷入迷思。

专业人士在隔壁已经详细说明,诸如基于 Electron 架构的软件,动辄上百 MiB 体积的安装包,安装后超过五六百 MiB 硬盘占用体积,是让现有的硬盘蛋糕呈现出不够分状况的罪魁祸首。启动运行时渲染进程大量占用 RAM,倘若开机自启动 8GB RAM 便开机过半,若 4GB RAM 则要通过压缩系统资源的性能来正常调用运行,是耗电浪费资源毁灭地球的元凶。甚至像我这样的仅基于用户体验的门外汉,也把 Electron 软件在 Windows 系统中的体验揪出来头头是道一番:其字体渲染无疑是偷懒的,直接继承 Windows 糟糕的字体渲染机制,让包括 2K 分辨率非 96 DPI 在内的显示器在 100% 系统缩放下的体验,可以以「不堪入目」来概括。

但面对 Electron 架构的软件,从用户体验的方法论总能找到妥协的方法:

  • SATA、NVMe 硬盘插满,杜绝硬盘不够用的可能。
  • 把内存槽插满到 64 GB 以上,内存槽不够的就把主板换了,杜绝 RAM 不够用的可能。
  • 把 1080P/2K 分辨率的显示器换成 4K 分辨率就可以无缝在 Windows / macOS 中体验 Electron 软件正常的字体渲染。
  • 把原本是基于网页版服务的 Electron 软件,重新带回到浏览器中使用,甚至把常用的 Chromium 系浏览器换成 Firefox1。一次性解决字体渲染与硬盘空间占用的问题。

这样一看,似乎三句不离加钱与消费。给钱了吗?给了。自己的问题解决了吗?解决了。但这种只解决了自己问题,却不考虑更多人的情况,是否像极了「先富带动后富」的现实结果呢?若十多年前是硬件的工艺技术的原地踏步则让大家想尽办法去优化软件,为 1 MB 内存的优化而绞尽脑汁,那么当 4K、64GB 、1TB SSD 用现在的目光判断为高端的硬件配置成为常态时,是否会让软件不优化以及负优化成为软件的常态呢?

当然,你可以调侃 Intel 的 14nm+++++++,但如同那些把 RTX 3080 当作是玩家标配常态,同时把 RTX 2080 Ti 被贬低得一文不值的人,恐怕是不会思考这些所谓常态背后的问题的。技术进步无疑离不开消费,但看不清自己的需求,把消费主义看作是消费的全部的,创造出一个又一个伪需求,正在让硬件与软件的发展的同步脱钩。人类也热衷于找特例,VS Code 被当作是标杆无可厚非,可回顾人类的发展,所谓的标杆往往是回光返照。人类不是神,无法从宏观层面上让软硬件百分百吻合进行同步发展,两者更多的是仿佛正弦函数般有着一定规律的曲线。这种进步基于已知也蕴藏未知,这种未知是属于未来的,很吸引人。但在此时此刻,基于 Electron 框架软件的缓慢响应,风扇急速运转,将无力与烦躁灌输给我。我想我是懒得再骂,也只可以剩余迷思。

若回头谈一下,到了谈是非对错的阶段,稍不留神就会向着软件技术原罪的辩论中一发不可收拾。理性的路径总是有意无意引导着人类,我想这个判断方向是不错的。「软件就是拿来用的」这种表意性质的实用主义哲学,只是把「实用」这个词主义化。要是想说明「软件拿来用」的实际意义,得要从「用的效果」上来考虑,比如用软件得怎么用,是坚持地去用,还是专注地去用,最终呈现出来「用软件」的概念是怎么样的。若把自己所处的位置改成「软件是拿来玩的」,玩总是可以专注的,却也容易败在坚持,缺乏坚持会错过质变。对于这种思考,在心里嘀咕远比作出表述容易,社交圈流行的内卷讨论,放在这事儿上看,也跳不出那个形态。


  1. 在 1080P 100% 缩放的系统设置下,Firefox 毫无疑问是拥有最好的字体渲染的浏览器。 ↩︎