微软在使用Electron框架开发Teams后就饱受性能的困扰,后来使用Edge WebView2引擎重写了Teams,使用WebView重写后的Teams首先体积减小了50%,内存占用减少了50%,各种相关性能提升了2倍以上,虽然性能依旧比不上原生PC应用,但是相比Electron饱受诟病的大和慢,新版Teams的体验上升了不是一个档次!
但是,很多比较知名的软件都是使用Electron作为开发框架开发的,比如Visual Studio Code、PostMain、GitHub等等,据说桌面版QQ和WeChat也是使用Electron进行开发的。
因此,很多写桌面软件的程序员都开始拥抱Electron,我经常也被人劝使用Electron,但是Electron我没说它不好,只是它不适合我!
有人说Electron体积大,其实这并不是槽点,因为现在硬盘也便宜,占用内存高、性能低是我不用Electron的原因之一,当然也有其他原因。
像Visual Studio Code这样的IDE要不要考虑性能问题?肯定是要考虑的,但是性能有时候对于一个IDE来说其实并不是太重要!有时候我们编译一个项目的代码等个几秒十几秒甚至更长时间都是可以接受的,有些项目编译一下花几个小时也是很常见的。打开一个项目花个几十秒也很正常。
像这些通用型软件,看似许多人用,但是前端负担真不高或者不在乎,且一些大公司可以使用一些手段去优化前端性能,但小公司真不一定有能力去解决这个问题。
另外,现在基本上已经很少有公司去写通用型软件了,PC软件大多数都是用来写企业级应用或者上位机软件,企业级应用或许还可以使用Electron来开发,但是上位机软件一般都是单机软件,对于软件的性能要求很高,使用Electron很难做到那么高的实时性和性能。
而且,Electron是基于Web技术开发的,上位机软件需要对接的大多数硬件都不支持Web协议通讯,当然也可以使用一些技术手段去支持,但是只是为了界面好看而使用Electron,但在对接硬件这块却要自己造轮子,我就问你值不值?
工业软件大多数注重性能和功能,对于软件界面基本没什么要求,因此至少Electron在工业软件行业里开不了花!
并且,因为Electron占内存和性能低的原因,如果使用Electron开发上位机软件,那么上位机的配置就需要进行提升以弥补软件带来的性能损耗,增加硬件成本,互联网的那套思维“性能不够,硬件来凑”其实根本不适合传统行业!
而且因为Electron内置了Chromium,Chromium本身只是一个浏览器,会不会带来一些兼容性问题,这个也值得讨论,毕竟客户端版本五花八门!
很多其他程序员劝我使用Electron的理由基本都是:你看,XX大公司的软件都是Electron开发的,如果它真的那么差,为什么XX大公司会用?
首先,这个逻辑就不对,比如说现在的Go、Rust很多大公司都在用,但是,这两门编程语言目前的流行度一个才1.37%、一个才0.91%,PHP的流行度都还有1.90%!
如果按照大公司在用的东西就是好东西这个逻辑,那么其他公司都是傻子吗?
结语
其实,用不用Electron最终还是得看一个软件的定位是怎样的,一个软件的定位如果需要给人一种赏心悦目的感觉,对性能要求不那么高,开发和学习成本低且这个公司有能力去解决使用Web技术开发桌面软件带来的一系列问题,那么使用Electron或者像Electron这样的框架来构建桌面程序就一点问题没有,反之就是有问题的。
因此,Electron好不好不是大公司决定的,而是市场决定的,如果使用它得人少,说明它的身上还有一些槽点,作为程序员,我们是需要去拥抱新的技术和理念,但是也要考虑实际问题,不是吗?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.