以前 aur 有些应用就是共用系统的全局 electron 的,但是自然也会经常遇到不兼容的问题,现在不知道还有没有了。 现在的游戏动不动都几十上百 G ,没必要为了这几百 MB 的容量经常花时间处理兼容问题,有这时间打游戏不香嘛
@westoy @Bingchunmoli 感谢,每个 app 的依赖确实应当跟着打包进去,但是举例来说,win 中也存在 user32.dll 这样的 非常底层的库,很少见有自带的吧,对 electron app 来说,我猜 js 解释器应该就是这种底层的东西,如果把它抽离出来,或许也是能缩小包体的
不要用现在的经验去看当时的问题。 1:当时的几个需要用户安装运行时的前辈要么已经死了、要么正在死去,比如 flash 、adobe air ?(忘了具体名字)、silverlight 。 2:当你电脑上有十个 electron 软件时,你觉得应该有一个公共运行时。但回到 electron 刚诞生时,ab 两个新软件,a 是绿色的下载就能运行,b 却需要先安装一个没听过的运行时污染你的系统,你会选哪个?
兼容问题是结果而非原因:如果当初 electron 是全局运行时的模式(而且奇迹般的流行开来),开发者在开发时自然会对齐版本、考虑兼容性(不过我觉得这样肯定不会让开发者喜欢)。 .net 有个好爹,不是 electron 这种野生动物可比的,而且就算好爹也救不了 Silverlight 。
不要高估了普通人的知识水平和理性程度。.NET 运行时很方便,然而非程序员团体能弄明白这玩意的很少,而且软件下载完普通人打开发现还需要再下载个什么东西,这些人会不耐烦,比起稍费一点力“折腾”这一下,他们可能更喜欢贡献一点硬盘。 这也说明了为什么有些大得像操作系统的软件一样有人用。