亮网络解锁器,解锁网络数据的无限可能 了解详情
写点什么

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

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

devops工具链基建建设评价标准

laofo

DevOps cicd 研发效能 持续交付 工程效率

前端代码安全与混淆

京东科技开发者

安全 京东云 企业号 4 月 PK 榜

历史性的时刻!OpenTiny 跨端、跨框架组件库正式升级 TypeScript,10 万行代码重获新生!

华为云开源

typescript Vue 组件库

软件测试/测试开发丨ChatGPT训练营来,手把手带你玩转ChatGPT

测试人

软件测试 自动化测试 测试开发 ChatGPT

带你揭开神秘的Javascript AST面纱之Babel AST 四件套的使用方法

京东科技开发者

JavaScript AST 京东云 企业号 4 月 PK 榜

物流路由线路配载前端算法逻辑实现方案

京东科技开发者

前端 京东云 京东物流 企业号 4 月 PK 榜

从内核源码看 slab 内存池的创建初始化流程

bin的技术小屋

操作系统 内存管理 Linux Kenel 内核 动态内存池

春风送暖,好久不见

BinTools图尔兹

版本发布

解决事务隔离产生问题的MVCC

做梦都在改BUG

深度学习基础入门篇[四]:激活函数介绍:tanh、sigmoid、ReLU、PReLU、ELU、softplus、softmax、swish等

汀丶人工智能

人工智能 机器学习 深度学习 激活函数

MyBatis整合Springboot多数据源实现

做梦都在改BUG

Java Spring Boot mybatis

上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

Java你猿哥

Java 数据库 JVM java编程 Java性能优化

对标大厂的技术派方案设计,带你了解一个项目从0到1实现的全过程

Java你猿哥

Java 架构 ssm 项目设计

对标大厂的技术派方案设计,带你了解一个项目从0到1实现的全过程

Java全栈架构师

数据库 微服务 程序人生 后端 架构师

Flink CDC 在京东的探索与实践

Apache Flink

大数据 flink 实时计算

解决事务隔离产生问题的MVCC

Java你猿哥

Java ssm 架构师 MVCC

Seal AppManager发布:基于平台工程理念的全新应用部署管理体验

SEAL安全

应用部署 企业号 4 月 PK 榜 Seal软件 SealAppManager

Spring全家桶思维笔记导图(Spring Boot+Cloud+IOC+AOP+MVC等)

Java你猿哥

spring Spring Cloud Spring Boot aop ioc

火山引擎数智平台协助洞察美图类APP新增长 付费用户转化超过124%

字节跳动数据平台

大数据 增长 产品增长 企业号 4 月 PK 榜 美图

一文弄懂访问者模式

小小怪下士

Java 程序员 设计模式

面试官:说说MySQL主从复制原理

Java永远的神

MySQL 数据库 程序员 面试 主从复制

GitHub程序调优「黑马」!阿里大牛的Java性能优化实战笔记已上线

做梦都在改BUG

Java 面试 性能优化 性能调优

玖章算术CEO叶正盛在数据技术嘉年华分享NineData AIGC的应用实践

NineData

数据库 数据管理 AIGC 玖章算术 NineData

一文读懂 Nautilus Chain 上首个 DEX PoseiSwap 的通证经济

西柚子

MyBatis整合Springboot多数据源实现

Java你猿哥

spring Spring Boot mybatis ssm 数据源

iOS16新特性 | 灵动岛适配开发与到家业务场景结合的探索实践

京东科技开发者

ios 京东云 灵动岛 企业号 4 月 PK 榜

博睿学院 | 本周四:OpenTelemetry技术在数据标准化中应用实践

博睿数据

可观测性 智能运维 博睿数据 前沿技术 博睿学院

看了我常用的IDEA插件,同事也开始悄悄安装了

Java你猿哥

Java 程序员 ssm IDEA 架构师

肝到头秃!阿里爆款的顶配版SpringCloudAlibaba学习笔记

架构师之道

微服务

自阿里P8爆出内部1031道java面试题后,在Boss直聘狂拿千份Offer

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

GPTCache:LLM 应用必备的【省省省】利器

Zilliz

Milvus Zilliz ChatGPT LLM 语义检索

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