查看: 3264|回复: 20
收起左侧

[IT业界] 腾讯开发者谈基于 Electron 技术的 Windows 版 QQ,将带来哪些新变化?

[复制链接]
Kd.
发表于 2022-12-10 19:08:00 | 显示全部楼层 |阅读模式
本帖最后由 Kd. 于 2022-12-10 19:18 编辑

IT之家 12 月 8 日消息,IT之家此前报道过《QQ 项目组:基于 Electron 技术 的 Windows 内测版本预计将于明年推出》,现在腾讯客户端工程师对大家比较关注的一些问题进行了解答。

1.png

以下为回答原文:

基于 Electron 技术的 Windows 版 QQ 内测版本预计 2023 年推出,该版本有哪些新功能?

感谢大家对新版桌面 QQ NT 的使用和关注,今年 QQ 团队启动了 QQ 的架构升级计划,第一站就是解决目前桌面端迭代慢的问题,我们使用新架构从前到后对 QQ 代码进行了重构,而其中选择使用 Electron 作为新版 QQ 桌面端 UI 跨平台解决方案,是基于提升研发效率、框架成熟度、团队技术及人才积累等几个方面综合考虑的结果。

1. 新版 QQ 使用跨平台方案的背景
由于历史原因,QQ 最先有 Windows 版本,然后有了 Mac 和 Linux 版本,三端最早都是独立的团队和独立的代码实现,Windows 功能最丰富全面,Mac 主打创新体验,功能相对较少,Linux 最简陋,随着移动互联网的洗礼,各种组织架构调整、人才流动和业务兴替,当前的桌面端 QQ 处于一个比较臃肿、难以维护、缺少更新迭代的状态。

随着远程办公和远程教育的普及,桌面端又开始回到大家的视野,有旺盛的需求,但要同时维护 QQ 的 Windows / Mac / Linux 三个桌面端,并确保每个端都保持快速、高质量的迭代,显然是一件高成本、高投入、难度大的事。在这样的背景下,要把 QQ 桌面端重新打磨好,我们就需要尽可能多的复用代码,实现一套代码、多端运行、体验统一,提升研发效率,持续提升客户端性能和用户的产品体验,同时满足 Windows / Mac / Linux 三大桌面平台用户的需求。于是,跨平台的复用方案就变成了我们自然而然的选择。

2.跨平台方案的选择
首先,我们希望最后选择的跨平台方案应该是成熟足够、低开发和使用成本的,不需要为了使用框架本身,还需要投入额外巨大的人力成本。这个其实在 React Native、Flutter、Tauri 等跨平台框架的使用过程中,我们都遇到过类似的问题,除了功能开发,为了把框架生态、周边、工具链建设好,还需要投入巨大的额外成本,Qt 也有类似的问题。而使用 Electron,对于 Web 前端开发同学,基本上是 0 成本,现有的 Web 前端的大部分基建都可以直接复用,而且使用 Web 开发 UI 的效率,在主流技术栈里算是很高的了。并且这几年主流的桌面端应用基本都选择了 Electron,如 VScode、Discord、Slack、Skype、Whatsapp、Figma 等等(https://www.electronjs.org/ apps),新的桌面应用基本上也是首选 Electron,另外,Electron 版本的迭代速度和社区氛围都很在线。

其次,技术选型是否适合当前团队也是一个考虑点,团队是否有相关的技术积累,是否有人才储备来持续投入这个技术栈也非常重要。Qt 的确在性能上是一个很好的选择,但目前团队对 Qt 没有太多积累,基建基本没有,而且市场上相关人才其实比较匮乏,招聘就更难了,而当前 QQ 团队 Web 前端团队积累是比较充分的,可以比较好的权衡质量、性能和效率。

最后,Electron 只是目前新版 QQ 桌面 UI 跨平台的部分,在总体项目中占比较小,并不是 WebQQ 或者网页版 QQ 或者内嵌浏览器,新版 QQ 其实基于 NT 架构进行了完整的重构和重写,基本构思如下图,可以看到核心的 QQ 逻辑还是运行在 C++ 这一层。

3.Electron 应用的内存占用
至于大家关心的 Electron 应用的内存问题,并非不能被优化和解决。由于一般 Web 应用的短周期使用路径,往往不太关注内存使用。而使用 QQ 中群聊和图文消息比较多情况,也会给内存带来不小的考验。但是当我们沉下心来,充分细致地针对每种场景进行分析,再结合定制深度优化 Electron 和与 Native 通信层面的优化,内存可以被很好控制,剩下的不过是再把一些内存泄漏的场景找出来而已。目前阶段,我们基本上一到两周就会出一个新版本,比如今天灰度的 Mac 版本,在内存占用方面就做了非常大的优化,有兴趣的同学可以使用最新版本,可以长时间运行跟老版本做个对比,已经得到明显的优化,而且优化还在持续中,敬请期待。

4.用户体验和反馈
新的 Mac 版 QQ 上线以来,其实我们一边不断迭代新功能,一边持续性能优化,过程中也收到很多不错的内测反馈和好评,也给了我们不少信心去选择并坚持这个技术路线。

最后,新版 LinuxQQ 已经在内测中,很快将和大家见面。能够快速推出功能齐全的 Linux 版 QQ,也是得益于所选方案给带来的迭代效率明显提升。
yyz219
头像被屏蔽
发表于 2022-12-10 19:23:49 | 显示全部楼层
QQ版本不要经常变
garrixx
发表于 2022-12-10 21:07:49 | 显示全部楼层
这个应该是推倒重做了吧
风之暇想
发表于 2022-12-10 21:59:54 | 显示全部楼层
开发团队合并的样子
Jok6
发表于 2022-12-11 07:51:54 来自手机 | 显示全部楼层
看完怎么觉得更要完蛋?
metaverse
发表于 2022-12-11 08:18:28 | 显示全部楼层
完了,植入的广告或多余组件不好去除了
Kd.
 楼主| 发表于 2022-12-11 10:54:40 | 显示全部楼层
metaverse 发表于 2022-12-11 08:18
完了,植入的广告或多余组件不好去除了

理论上更好去除了,因为Electron很容易魔改,加几行js就可以。
Jirehlov1234
发表于 2022-12-11 11:11:10 来自手机 | 显示全部楼层
不用桌面版qq的理由+1
mr.bo
发表于 2022-12-11 12:38:20 | 显示全部楼层
现在QQ for Linux看着还不错,别到Windows上时加一堆广告就成。
tao8023yy
发表于 2022-12-11 12:51:42 来自手机 | 显示全部楼层
我还在用极速版。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 23:39 , Processed in 0.129475 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表