【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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:386115

评论 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 · 北京
回复
没有更多了
发现更多内容

学员在web前端培训机构应该怎么学习

小谷哥

什么是数据质量管理?企业怎样做好数据质量管理?

雨果

数据质量

elasticsearch的字符串动态映射

程序员欣宸

elasticsearch 9月月更

融云视频会议,助力政企高效协同

融云 RongCloud

会议 音视频技术 政企

JDBC系列——JDBC编程六步

胖虎不秃头

MySQL 数据库 9月月更

干货 | 企业数字化转型过程中,传统IT和数字型IT能否严格区分?

嘉为蓝鲸

运维 转型 IT 数字化 研发

微服务治理热门技术揭秘:动态读写分离

阿里巴巴中间件

数据库 阿里云 微服务 云原生

Linux系统安装配置Tomcat

Linux Tomccat 9月月更

软件测试 | 测试开发 | Jenkins 踩坑(四)|基于接口自动化测试完成 Jenkins+GitHub+Allure 的结合

测吧(北京)科技有限公司

测试

负载均衡

阿柠xn

负载均衡 运维 MQ 9月月更

怎么来选择大数据培训课程

小谷哥

太牛了,这是我见过把微服务讲的最全最好的SpringCloud架构进阶

程序知音

Java 架构 微服务 SpringCloud 后端技术

OneFlow源码解析:Tensor类型体系与Local Tensor

OneFlow

深度学习 源码解析 算子

画一个 “月饼” 陪我过中秋,使用 ESP32-C3 制作炫彩月饼

矜辰所致

电路设计 ESP32-C3 9月月更

设计模式的艺术 第十四章享元设计模式练习(开发一个多功能文档编辑器,在文本文档中可以插入图片、动画、视频等多媒体资料。为了节省系统资源,相同的图片、动画和视频在同一个文档中只需保存一份,但是可以多次重复出现,而且它们每次出现时位置和大小均可不同)

代廉洁

设计模式的艺术

如何设计一个高并发系统?这篇文章全部给你讲清楚了

Java永远的神

程序员 面试 后端 高并发 架构师

如何选择比较靠谱的数据培训班?

小谷哥

大规模数据如何实现数据的高效追溯

华为云开发者联盟

大数据 后端 华为云 企业号九月金秋榜

python os模块

zxhtom

9月月更

NFT软件开发:什么是数字藏品?

开源直播系统源码

NFT 数字藏品 数字藏品系统软件开发 数字藏品开发

BI系统的分布式部署原理和技术实现

葡萄城技术团队

分布式 BI 部署 可视化数据

OpenHarmony3.0如何轻松连接华为云IoT设备接入平台

华为云开发者联盟

后端 物联网 华为云 企业号九月金秋榜

探索编译软件栈新范式;高端GPU禁售的影响;陈天奇DL系统免费课程|AI系统前沿动态

OneFlow

内容合集

MySQL系列——连接查询、子查询、union合并、limit

胖虎不秃头

MySQL 数据库 9月月更

贝斯的圆桌趴 |科技公司内部 SaaS 工具大公开

Bytebase

如何在 ACK 中使用 MSE Ingress

阿里巴巴中间件

阿里云 容器 微服务 云原生 ingress

Android技术分享| Activity 过渡动画 — 让切换更加炫酷

anyRTC开发者

android 音视频 动画 移动开发 Activity

Linux vim的使用和配置

挚爱光小胖

Linux vim教程

备战2023秋招,应届生应做好哪些准备

C++后台开发

应届生 C++后台开发 校招 秋招 C++开发

MySQL系列——数据库表、查询、排序、数据处理函数

胖虎不秃头

MySQL 数据库 9月月更

堡垒机定义、由来以及价值简单说明-行云管家

行云管家

网络安全 数据安全 堡垒机 行云管家

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