智能体刷屏的背后,是 AI 应用拐点的来临?AICon 北京站议程重磅公布,50+ 硬核分享不容错过 了解详情
写点什么

Electron 末日来了?又一应用将其抛弃!WhatsApp 强制推行原生应用:速度更快、内存占用更少

  • 2023-06-29
    北京
  • 本文字数:2341 字

    阅读完需:约 8 分钟

Electron末日来了?又一应用将其抛弃!WhatsApp强制推行原生应用:速度更快、内存占用更少

Electron 又被嫌弃了,让人又爱又恨的 Electron 还能扛起跨平台开发框架的大旗吗?

WhatsApp 弃用基于 Electron 框架构建的桌面应用程序

 

近日,WhatsApp 正式弃用基于 Electron 框架构建的桌面应用程序,用户需切换到原生版本以继续使用。

 

WABetaInfo 平台报告称,全体 Electron 版用户都会看到提示信息,上面写着“应用已过期”。屏幕还提供链接,指向 Microsoft Store 或 Mac App Store 上发布的本机 WhatsApp 桌面应用。这些本机应用虽然已经稳定交付约一年,但此番强制切换仍有些仓促。部分用户可能会抱怨过渡期太短,或者本机应用无法向商业用户提供全部功能,例如目录管理和快速回复。


Electron版WhatsApp桌面客户端上的关闭信息


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 团队使用了 Apple 的 Mac Catalyst 框架,开发人员可以更轻松地构建在 iPadOS 和 macOS 上运行的应用程序。不过目前,适用于 macOS 操作系统原生的 WhatsApp 桌面应用程序仍处于开发的早期阶段。

 

在过去,通过 WhatsApp Web、Microsoft Store 上的本机应用以及基于 Electron 框架构建的全平台应用,用户一直可以在桌面系统上轻松访问 WhatsApp。从大概四周前开始,这款桌面应用的主屏幕上出现一个倒计时,宣布将在截止时间正式关闭。随着当前 WhatsApp 正式淘汰 Electron 这一分支,使得部分用户必须转向其操作系统对应的本机应用才能继续享受服务。

 

WhatsApp 表示,原生应用程序主要具备以下优势:

  • 增强了可靠性并提升了速度;

  • 专为桌面操作系统而设计并进行了优化;

  • 即使手机离线,也能继续接收通知和消息。

 

有分析指出,WhatsApp 的种转变也有其充分理由。尽管 Electron 版应用功能丰富且运行便捷,但并未针对 macOS 或 Windows 系统进行过优化,因此在运行中会占用大量资源。这个问题在低端设备上体现得尤其明显。相比之下,新的本机应用针对各桌面操作系统进行了优化,在提供更高稳定性的同时降低了系统资源占用量。

 

此外,WABetaInfo 还希望此举有助于促进 WhatsApp Business 工具程序的开发,避免 Electron 应用分解开发者群体的注意力。

Electron 的 AB 面:有人弃用,也有人选择

 

除了 WhatsApp,微软Teams也弃用了 Electron。

 

2021 年,微软 Teams 高级副总裁宣布,Teams 将放弃 Electron,转而匹配微软自己的 Edge WebView2 渲染引擎以寻求性能提升。2023 年,微软宣布以公共预览版的形式,在 Win10 / Win11 系统上推出新版 Microsoft Teams 应用程序,正式从 Electron 过渡到 Microsoft 的 Edge WebView 2 渲染引擎。

 

“2015 年,我们开始开发 Teams 时,选择 Electron 等框架可使跨平台 Web 和桌面客户端的快速交付成为可能,”该公司的公司工程副总裁 Sumi Singh 在博客文章中解释道。“然而,随着 Teams 的功能不断扩展,给设备资源带来了压力。认识到这一点后,我们开始分析可用技术、进行基准测试、构建原型并设计了一个在内部称为北极星的新架构。”

 

微软协作应用程序和平台总裁 Jeff Teper 在一篇博文中表示,新版应用的设计核心是速度和易用性,“我们始终听取用户的反馈,于是我们围绕着速度、性能、灵活性和智能,重头构建了 Teams 应用。运行速度提高了 2 倍,同时使用的内存减少 50%,因此您可以节省时间并更有效地协作。”

 

有人弃用 Electron,也有人坚定地选择它。

 

2023 年 4 月 23 日,新版 Windows QQ 正式开启用户公测,采用全新 QQ NT 架构,以此实现了 QQ 架构的统一。而 QQ NT 技术的一个重点就是使用 Electron 作为新版 QQ 桌面端 UI 跨平台解决方案

 

据了解,QQ 开发团队还在 Electron 基础上做了大量优化。比如,针对 Electron“占内存”的问题,QQ 根据不同的使用场景,在 Electron 与 N 用 Electron 开发多平台客户端的成本相对低很多。相比于大多数都能完全复用的代码,针对性优化成本可以忽略不计。

 

同样是考虑到多端统一的需求,2017 年,GitHub 也曾使用 Electron 重写了 macOS 和 Windows 的客户端。

写在最后

 

2017 年,Electron 可以说是 Web 应用在桌面平台发布的最佳、甚至是唯一选项。如今,虽然仍有众多知名应用都选用 Electron 来提供支持,但也有越来越多的应用选择弃用。

 

腾讯微信客户端工程师方秋枋曾在接受 InfoQ 采访时表示,从框架开发者的角度来看,跨平台开发的难点就在于处理平台差异性;从框架使用者的角度来看,难点在于如果框架出问题了,维护成本将会变得非常高。

 

与此同时,跨平台框架存在很多通病,比如项目庞大后维护困难、第三方库良莠不齐、兼容上需要耗费更多精力等等。“跨平台意味着需要花费很多时间来解决平台差异性问题,同时要面临第三方库不够原生平台丰富健壮的现状。跨平台其实是牺牲部分功能和体验,换取开发速度和一致性的权衡,并不是业务开发的银弹。目前并没有一个能完善解决这些问题的解决方案。”方秋枋说道。

 

参考链接:

https://www.androidpolice.com/whatsapp-desktop-electron-dead/

https://faq.whatsapp.com/451924530376167/?cms_platform=web

2023-06-29 14:387221

评论 3 条评论

发布
用户头像
为啥不用Flutter?性能非常高,跨平台非常多
2023-06-29 16:58 · 上海
回复
看过 Flutter 桌面端的文档,感觉相比 Electron 之类还不成熟,整体重心在移动端。据我了解目前业界也没什么拿得出手的桌面端案例。浏览 flutter 官方 repo 的 Issues 中 Desktop 标签下面的问题,看到许多基础的功能都没完整实现。
相比之下 Electron 有很多大厂已经踩过坑了,而且前端的生态很完善成熟了。Flutter 目前阶段开发桌面端的小项目玩玩可以,如果用在企业级的项目上,还是要慎重考量。
2023-06-29 18:56 · 北京
回复
Flutter在桌面端就是个未成年
2023-07-09 15:17 · 北京
回复
没有更多了
发现更多内容

尚硅谷Java真题详解教程发布

小谷哥

开门见山|首期《崖山论“见”》技术 Meetup启程

YashanDB

直击面试!阿里技术官手码12W字面试小册在Github上爆火

Java你猿哥

Java 后端 面经 简历 Java工程师

户外广告屏为什么会坏?

Dylan

LED 户外LED显示屏

我眼中的优秀PM

BY林子

团队管理 项目管理

低代码开发平台如何推动企业数字化转型

力软低代码开发平台

赋能数字经济新动能 焱融科技获评「人工智能高质量发展-行业责任担当」企业

焱融科技

人工智能 文件存储 容器存储 分布式文件存储 全闪存储

gRPC快速整合SpringCloud

Java你猿哥

Java gRPC Spring Cloud 后端 ssm

大数据计算引擎 EasyMR:拥抱开源,引领技术创新

袋鼠云数栈

大数据 大数据基础平台

机器学习算法(一): 基于逻辑回归的分类预测

汀丶人工智能

数据挖掘 机器学习 数据分析 逻辑回归

如何防止AD域环境遭受恶意攻击?

嘉为蓝鲸

AD #运维

开发和测试融合,到底该怎么做?

BY林子

敏捷开发 敏捷测试

HummerRisk 使用教程:k8s检测

HummerCloud

【活动报名】 拥抱公平《 Impact Tech, She Can 》

亚马逊云科技 (Amazon Web Services)

人工智能

HummerRisk 使用教程:资源态势

HummerCloud

Docker等容器技术应用到移动开发的探索

Onegun

容器 docker build 小程序容器

聊聊池化层和步长为2的卷积层

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜 卷积层

ChatGPT能否取代程序员?仍然是一个需要认真探讨的问题,对此你怎么看?

兴科Sinco

OpenAPI openai #人工智能 ChatGPT

模型训练过程中,混合精度训练稳定性解决方案

Openlab_cosmoplat

模型训练 开源社区

JAVA实战:如何让单元测试覆盖率达到80%甚至以上

Java你猿哥

Java ssm 单元测试 Java工程师 java实战

4种API性能恶化根因分析

华为云开发者联盟

开发 API 华为云 华为云开发者联盟 企业号 3 月 PK 榜

延伸测试边界,银行测试团队转型建议

BY林子

软件测试 敏捷测试 测试转型

论文分享丨Holistic Evaluation of Language Models

华为云开发者联盟

人工智能 华为云 论文 华为云开发者联盟 企业号 3 月 PK 榜

一站式管理多平台小程序的办法

Onegun

微信小程序 小程序管理平台 小程序管理

矩阵佛萨奇(MetaForce)合约开发源码搭建

薇電13242772558

web3

BugBuilder: 高质量大规模缺陷库自动构建方法

华为云开发者联盟

开发 华为云 补丁 华为云开发者联盟 企业号 3 月 PK 榜

得物社区计数系统设计与实现

得物技术

性能优化 重构 稳定性

硬核!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

三十而立

Java java面试

综合系统清理优化工具:MacCleaner PRO中文激活版

真大的脸盆

Mac Mac 软件 mac系统清理优化软件 清理工具 清理优化

Electron末日来了?又一应用将其抛弃!WhatsApp强制推行原生应用:速度更快、内存占用更少_框架_凌敏_InfoQ精选文章
OSZAR »