作者| 林明,核子可乐
如今Electron再次失宠,它还能扛起跨平台开发框架的大旗吗?
WhatsApp 弃用基于 Electron 框架构建的桌面应用程序
最近,WhatsApp 正式弃用了基于Electron 框架构建的桌面应用程序,因此用户将不得不切换到原生版本才能继续使用它。
WABetaInfo 平台报告称,所有Electron 用户都看到一条消息:“您的应用程序已过期”。此屏幕还提供了Microsoft Store 或Mac App Store 中可用的本机WhatsApp 桌面应用程序的链接。虽然这些原生应用已经稳定了一年左右,但强行切换还是有点仓促。一些用户可能会因为过渡期太短或者本机应用程序无法为业务用户提供完整的功能(例如目录管理和快速回复)而感到沮丧。
在WhatsApp 桌面客户端的Electron 版本中关闭消息
Electron 是一个使用JavaScript、HTML 和CSS 构建跨平台桌面应用程序的框架,基于Chromium 和Node.js,兼容Mac、Windows 和Linux。
当WhatsApp 处于开发早期阶段时,开发人员创建了一个基于Electron JS 框架的桌面应用程序。该项目产生了一个共享代码库,允许桌面应用程序跨WhatsApp Web、Windows 和Mac 运行。
去年,WhatsApp 从头开始为Windows 开发了一款新的本机应用程序。该应用程序采用了与Windows 11 设计语言相匹配的全新现代设计,包括透明度和适应操作系统颜色主题的能力。除此之外,该应用程序还提供了更好的用户界面,用户可以在其****享消息、照片、视频和其他媒体内容,以及拨打和接听语音和视频通话。
与此同时,macOS 原生WhatsApp 也已开始公开测试。该版本最初处于封闭测试阶段,仅供TestFlight 参与者使用,但现在已向公众开放。据报道,WhatsApp 团队正在使用苹果的Mac Catalyst 框架,该框架允许开发人员轻松构建在iPadOS 和macOS 上运行的应用程序。然而,目前,macOS 操作系统原生的WhatsApp 桌面应用程序仍处于开发的早期阶段。
到目前为止,用户始终可以通过WhatsApp Web、Microsoft Store 中的本机应用程序以及基于Electron 框架构建的全平台应用程序轻松访问桌面上的WhatsApp。大约四个星期以来,桌面应用程序的主屏幕上一直出现倒计时,通知您它将在截止日期正式结束。现在WhatsApp 正式逐步淘汰Electron 分支,一些用户将不得不依赖操作系统的本机应用程序才能继续享受该服务。
根据WhatsApp 的说法,本机应用程序的主要好处是:
增强的可靠性和速度,专为桌面操作系统而设计和优化,即使您的手机处于离线状态,也能让您接收通知和消息。有分析人士指出,WhatsApp的转型有充分的理由。 Electron 版本的应用程序功能丰富且易于运行,但它没有针对macOS 或Windows 系统进行优化,并且运行时会占用更多资源。这个问题在低端设备上尤其明显。相比之下,新的本机应用程序针对每个桌面操作系统进行了优化,提高了稳定性,同时减少了系统资源的使用。
此外,WABetaInfo还希望此举能够加速WhatsApp商业工具的开发,并有助于避免Electron应用分散开发者社区的注意力。
Electron 的 AB 面:有人弃用,也有人选择
除了WhatsApp 之外,Microsoft Teams 还停止了Electron。
2021年,微软Teams高级副总裁宣布Teams将退役Electron,转而使用微软自己的Edge WebView2渲染引擎以获得更好的性能。 2023年,微软宣布将在Win10/Win11系统上发布新版本的Microsoft Teams应用程序作为公共预览版,正式从Electron过渡到微软的Edge WebView 2渲染引擎。
“当我们在2015 年开始开发Teams 时,我们选择了像Electron 这样的框架,它使我们能够快速交付跨平台的Web 和桌面客户端,”该公司的一位企业工程师在博客文章中解释道。 “然而,随着Teams 功能的不断扩展,给设备资源带来了压力。认识到这一点,我们分析了可用的技术,对其进行了基准测试,构建了一个原型,并在内部构建了一个名为Polaris 的原型。我们开始设计新的架构。 ”
微软协作应用程序和平台总裁Jeff Teper 在一篇博客文章中表示,速度和易用性是新版本应用程序设计的核心,我们从头开始构建具有性能、灵活性的Teams 应用程序。和智能,运行速度提高2 倍,同时使用的内存减少50%,因此您可以节省时间并完成更多工作,我们可以有效地协作。”
有些人放弃了Electron,而另一些人则坚定地选择了它。
2023年4月23日,新版本Windows QQ正式开始用户公开测试,采用新的QQ NT架构,实现了QQ架构的统一。 QQ NT技术的重点之一是采用Electron作为新版QQ桌面UI跨平台解决方案。
可以看到QQ开发团队在Electron的基础上也做了很多优化。例如,针对Electron的“内存占用”问题,QQ根据不同的使用场景,使用Electron为Electron和N开发了多平台客户端。成本相对较低。与大多数完全可重用的代码相比,有针对性的优化的成本可以忽略不计。
另外,考虑到多设备集成的需求,GitHub 在2017 年使用Electron 重写了macOS 和Windows 的客户端。
写在最后
2017 年,Electron 是在桌面平台上发布Web 应用程序的最佳选择(即使不是唯一的选择)。如今,许多知名应用程序仍然使用Electron 提供支持,但越来越多的应用程序选择放弃Electron。
腾讯微信客户端工程师方秋芳曾在接受InfoQ采访时表示,从框架开发者的角度来看,跨平台开发的难点在于处理平台差异,而从框架使用者的角度来看,你也提到了。是框架如何工作的问题。如果出现问题,维护成本可能会非常高。
同时,跨平台框架存在很多共性问题,比如大型项目后维护困难、第三方库质量参差不齐、需要在兼容性上花费更多精力等。 “跨平台意味着需要花费大量的时间来解决平台差异的问题,同时我们面临着第三方库对于原生平台来说不够强大和健壮的现实。”并不是业务开发的灵丹妙药,实际上意味着牺牲一些功能和体验来换取开发速度和一致性,目前还没有一个方案能够彻底解决问题。”方秋芳说道。
参考链接:
https://www.androidpolice.com/whatsapp-desktop- Electron-dead/
https://faq.whatsapp.com/451924530376167/?cms_platform=web
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。