捍卫电子
Electron 是一个流行的框架,它允许开发人员编写一次代码并部署在 Mac、Windows 和 Linux 等多个平台上,但在过去一年中,它一直处于持续 攻击的状态。
反对者们正在集结起来,试图阻止 Electron 被新老初创企业采用的速度。如今开发者使用的两款最流行的工具——Slack 和 Atom——都是基于 Electron 构建的。
Electron 的反对者说,“它占用太多内存。”或者,“它占用大量 CPU。”甚至更确切地说,“它在每个窗口中都运行整个 Google Chrome 引擎。”
更有甚者,反对 Electron 的帖子通常充斥着图表和表格,以及带有内存和 CPU 使用情况的活动监视器的屏幕截图,概述了该框架的邪恶性以及为什么必须不惜一切代价阻止它。
这些帖子主要关注机器人计算机的感觉,最终忽略了 Electron 成功或失败的决定性因素:大多数人每天运行 Electron 应用程序的感觉如何。
用户的感知
我绝不是“大多数人”。我用的是一台相对先进的笔记本电脑:一台 2016 年的 MacBook,标配 16GB 内存。但如今先进的开发机器,就是未来的入门级电脑。Electron 的梦想世界是每个电脑用户都拥有足够大的内存。但我认为,这样的世界很快就会到来。我们是应该等到那时再开始利用这个资源丰富的世界,还是现在就开始规划呢?
如果我是一名便利框架开发者,我应该更关注内存未来的发展趋势,而不是它过去的发展方向。计算机行业似乎已经停留在 8GB 内存上太久了,但 16GB 标准的现实即将到来,甚至不可避免。
我可以毫不夸张地说,Electron 运行起来简直如梦似幻。通常情况下,我会打开大约三个 Atom 窗口,启动并运行一个多团队协作的 Slack,同时还会积极使用和调试我自己基于 Electron 的应用 Standard Notes。我还会打开或运行一些其他非 Electron 应用,例如 Adobe Photoshop(三个终端窗口,每个窗口有 3-4 个标签页)、Sequel Pro、Google Chrome(平均有 4-5 个标签页)、Apple Mail、iMessage、Little Snitch、Dropbox 以及 iTunes/Apple Music。
那么,每天乘坐这列死亡列车是什么感觉呢?
嗯,感觉没什么。
我没注意到。我的笔记本电脑没有发热。我听不到风扇的声音。我使用任何应用程序都没有卡顿。音乐播放流畅。我可以毫无问题地观看高清 YouTube 视频。我的屏幕没有闪烁。我可以收到通知。我可以下载新应用并更新旧应用。
我继续我的日子,而 Electron 不会妨碍我。
商业案例
但除了最终用户的感受之外,还有一个更重要的视角:软件公司的感受。
具体来说,我参与的项目是一个开源的跨平台笔记应用,可在大多数平台上使用,包括 Web、Mac、Windows、Linux、iOS 和 Android。所有桌面应用均基于主 Web 代码库,并使用 Electron 进行打包;而 iOS 和 Android 应用则分别使用各自的原生代码库,一个使用 Swift,另一个使用 Kotlin。
作为一家资源匮乏的新公司,这种设置几乎让我们无法进入市场。三个代码库实在是太多了,维护起来实在是太麻烦了。每次修改代码,我们都得在三个不同的地方进行修改,这违背了计算机科学最神圣的原则——保持代码简洁(DRY)。
对于一个在所有这些平台上部署的单人团队来说,即使是最微小的更改也至少需要三个开发日,每个代码库一个。这包括调试、修复、测试、打包、部署和分发每个代码库。这绝非易事。
有时,潜在用户会告诉我,这个应用正是他们想要的,但“抱歉,我不使用 Electron 应用”。
如果我坦率地讲,也许我会说“我很遗憾地通知你,你想象的世界并不存在。”
让我们通过模拟平行宇宙来满足这个用户的愿望,在这个平行宇宙中,一家小型软件商店可以在每个平台上进行本地开发。
这意味着总共需要聘请六名经验丰富的开发人员。我们姑且忽略在六个不同平台上对每个小改动进行六次繁琐繁琐的流程,只关注成本。平均年薪为 15 万美元(对于像 Mac 开发人员这样难找的开发人员来说,年薪可能更高),再忽略寻找和聘请这些开发人员的巨额成本,每年的开发成本总计高达 90 万美元。
对于一家白手起家、没有风险投资的公司来说,这实际上不是一个选择。
或者实际上,也许是这样。你可以把成本转嫁给你的客户。
假设我们的目标是在运营 12 个月后获得 2000 名付费用户。如果我们只想实现 10 万美元的全公司利润,这就意味着每位用户每年需支付 500 美元或每月 42 美元。你愿意为一款笔记应用每年支付 500 美元吗?
我敢说,这些条件将限制任何寻求向市场推出跨平台解决方案的新创业公司,并且本来可以实现的令人惊叹的应用程序根本不会存在。
那么,或许魔鬼的交易也没那么糟糕?总比什么都没有好。这总是好的。其次,它的价格也还算合理(笔记应用每年 36 美元)。第三,你可以在任何你喜欢的平台上使用它,而且大多数情况下还能额外获得网络访问权限。
我敢肯定,由于 Electron 为新创业公司提供了有利条件,加上个人电脑内存可用性的提高,Electron 将继续受到企业和用户的青睐。
如果您是开发人员,您可以在此处了解有关 Electron 的更多信息。
您还可以在此处看到一些使用 Electron 构建的应用程序。
如果您喜欢这篇文章并希望在将来订阅类似的故事,您可以在 Twitter 上关注@bitario,或者查看我正在开发的项目@StandardNotes,这是一款私人开源笔记应用程序。
文章来源:https://dev.to/devtouser432/in-defense-of-electron