AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

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

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

JVM内存模型学习笔记(一)

风翱

9月日更 JVM内存模型

关于微服务系统中数据一致性的总结

看山

微服务 后端 数据一致性 引航计划 数据自洽

Prometheus 2.21.0 新特性

耳东@Erdong

release Prometheus 9月日更

消息队列存储消息数据的 MySQL 表格设计

tjudream

数据库 索引 消息队列 架构训练营 表结构设计

年终总结誓师大会PPT模板-优页文档

momo

模板 优页文档

9月23日Atlassian大中华区用户大会20+位重磅嘉宾,15+场干货演讲大放送!

Atlassian

DevOps 敏捷 Jira ITSM Confluence

5 分钟,使用内网穿透快速实现远程桌面

星安果

内网穿透 Frp 远程控制

在线JSON转GraphQL工具

入门小站

工具

【Flutter 专题】43 图解 Flutter 适配 AndroidX

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

医疗保健服务宣传和医疗咨询服务PPT模板-优页文档

momo

PT模板 优页文档 优页文档PPT模板

非科班程序员求职经历分享,Java面试知识点

Java 程序员 后端

Vue进阶(幺贰零):父组件获取子组件验证结果

No Silver Bullet

Vue 9月日更

为什么渗透提权这么难

网络安全学海

php 网络安全 信息安全 渗透测试 安全漏洞

linux之rpm命令

入门小站

Linux

什么是主数据

奔向架构师

主数据 9月日更

网络攻防学习笔记 Day139

穿过生命散发芬芳

9月日更 网站安全基础

1行代码爬CSDN热榜,Python哈啤酒式写法

梦想橡皮擦

9月日更

这本阿里JDK源码,已在阿里内部疯拿3个金奖,过这村没这店!

Java 程序员 架构 面试 计算机

为什么要坚持日更?

石云升

9月日更

欧美风个人简历自我介绍PPT模板-优页文档

momo

免费PPT模板 优页文档

19. 今天的人工智能还不能做什么?

Databri_AI

人工智能

近期焦虑有感

Nydia

Golang 入门指南

baiyutang

编程 程序员 Go 语言 9月日更

JavaScript 进阶(二)下下之深浅拷贝

Augus

JavaScript 9月日更

新年计划PPT模板-优页文档

momo

模板 优页文档 优页文档PPT模板

护士礼仪培训PPT模板-优页文档

momo

模板 PT模板 优页文档

内部岗位竞聘报告PPT模板-优页文档

momo

模板 T模板 优页文档

非科班程序员求职经历分享,阿里P7亲自教你

Java 程序员 后端

Moviepy音视频剪辑:黑白视频的帧图像格式探究

老猿Python

Python 音视频 图像处理 引航计划 Moviepy视频剪辑处理

☕️【Java专题系列】「回顾RateLimiter」针对于限流器的入门到精通(含实战和算法原理介绍)

洛神灬殇

限流算法 Guava 9月日更 Gatelimitor

一种优于gzip的压缩方式Brotli

devpoint

9月日更 gzip Brotli

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