如何看待最新版QQ的NT技术架构?Electron技术要再次火爆?
admin 发布:2024-12-04 07:08 7
1、引言
根据腾讯官方在公测群中的公告,新版Windows QQ公测体验安装包将于3月24日左右发出。新版 Windows QQ 将采用全新 QQ NT 架构,并焕新了交互界面,更加个性美观,统一简洁。对于”NT”架构这个字眼,大概猜测一下应该是“New Technoly”或“New Technology”的意思,代表“新技术”,而这所谓的新技术其实就是基于Electron开发的,有些人看到Electron就笑了,想到了性能低、占用内存大、安装包巨大等缺点,那么究竟如何呢?
QQ Linux新版
1、QQ不同平台的历史背景
2000年左右,QQ2000版本发布,最开始主要是Windows版本。2011年11月24日,在感恩节当天,QQ2011foriPhone V1.6正式上线,而安卓版本则是于2010年QQ发布的。对于Linux系统版本QQ迭代比较慢一些,主要节点如下: 2008年07月31日推出 Linux QQ 1.0;2019年10月24日推出 Linux QQ 2.0;2022年12月30日 推出Linux QQ 3.0!
Windows版本QQ
3个不同的系统端最早都是独立的团队实现的三套不同的代码,而Windows平台由于市场占有率高的原因,功能最丰富全面。Mac版本QQ主打创新体验,功能相对较少。Linux版本由于使用量最少,因此功能最为简陋。随着移动互联网的蓬勃发展以及腾讯公司的各种组织架构调整、人员流动和业务迭代,桌面端QQ逐渐变得比较臃肿,并且维护难度大,更新迭代慢。
Linux版本QQ
对于3个不同的平台代码来说,想要同时保持Windows/Mac/Linux三个桌面端QQ的高速迭代和功能的优化显然是一项艰巨和困难的任务,面临着高成本、高投入和高难度问题。在这样的历史背景下,代码的复用——最好是实现同一套代码能在多端运行,并保持统一的体验就变得至关重要。这样能够大幅度的提升研发效率,同时提升客户端性能和用户的产品体验,于是,跨平台的方案就成为了首选。
Mac版本QQ
2、跨平台方案的选择
首先我们先来看一下新的NT桌面端架构,如下图所示:
新的NT桌面端架构
从中我们可以看到,腾讯团队选择了比较成熟的Electron跨平台框架,而非大多数C++开发人员认为的Qt跨平台框架。对于这个选择结果我们可以去猜测推理一下,基本是3个方面的原因:高成熟度、低开发成本和技术团队。例如React Native、Flutter、Tauri等跨平台框架,除了框架本身成熟外,还要考虑生态链以及工具链的成熟度,这些都需要高额的成本,相较之下使用Electron,版本的迭代速度和社区氛围都很不错,这些年主流的桌面端应用基本都选择了Electron,如VScode、Discord、Slack、Skype、Whatsapp、Figma等等。因此QQ团队选择Electron也不失为一种好的选择。
Qt
对于技术团队来说,个人并不太了解QQ团队在技术方向上的人才储备,按道理和经验来说,腾讯在C++方面人才应该是非常充足的吧,找出一些对Qt比较熟悉的开发人员应该不是什么大问题,并且Qt在性能上是一个更好的选择。也可能是由于C++开发人员相较于Web前端来说更为稀少难找,并且薪资成本高的缘故吧。
3、Electron框架
Electron框架是使用JavaScript,HTML和CSS构建跨平台的桌面应用程序框架,兼容Mac、Windows和Linux,可以构建出同时支持三个平台的应用程序。Electron项目的前身是Atom Shell,基于Node.js和Chromium实现跨平台的桌面GUI应用程序开发。
Electron框架
Electron结合了Chromium和node.js,让桌面应用的开发变成了一件美妙的事情:HTML5前端负责UI呈现和用户交互体验,Node负责与操作系统底层交互,实现一些仅靠前端无法实现的功能,如对文件系统的读写,系统底层API的调用等,并且可以通过node modules进行扩展。此外,开发人员只需要学习一些前端开发的知识,就能很快上手,加上H5的各种框架模板样式,可以做出华丽的用户界面,交互体验也是非常棒的。
但是,Electron的弊端也非常明显,比如性能不如C++、C#,毕竟视图界面需要靠H5去渲染,这个过程和浏览器渲染网页并没有本质的区别。此外软件的体积非常庞大,比如随便做一个最小的App,例如记事本级别的软件,代码可能只有几十k,但引擎能有几百兆。毕竟,Electron本身基本上就是个完整的Chromium了,再加上Node.js,基本上一个App差不多要占400多MB空间,还不包括AppData中的用户数据以及各种缓存、Cookie、Storage……对于Electron应用的内存问题,QQ团队宣称会充分细致地针对每种场景进行分析,再结合定制深度优化Electron和与Native通信层面,以便控制内存的,后面我们拭目以待吧。
4、结语
目前,腾讯 QQ 已经发布了 最新的macOS 版和 Linux 版。据 QQ Linux 版介绍,QQ 全新版本采用了全新架构 QQ NT 技术架构驱动,支持消息、小世界、QQ 空间板块等功能,还增加了夜间模式、截图能力、群应用、全局搜索能力,UI 方面采用了与微信相似的三栏式设计。不过,由于NT架构对于Electron的依赖,新版QQ对于电脑内存的需求远高于老版本。另外一点,Electron毕竟是外国的开源框架(特别是chromium内核),腾讯可能需要考虑技术封锁的可能性?
- 上一篇: “视频会员”的意义,藏在腾讯视频VIP九周年里
- 下一篇: 卷卷的羊毛小班教案
推荐应用
相关推荐
- 12-02怎么点亮QQ绿钻豪华版图标?开通QQ绿钻贵族方法图解
- 12-01腾讯投资创办的「明湾学校」,确定双语+IBDP!首次家长活动来了…
- 11-24QQ会员.txt
- 11-24腾讯视频会员与腾讯vip一样吗
- 11-23电视还得单开会员?QQ音乐推出电视版会员
- 11-15哪家VIP更值得买?优酷/腾讯/爱奇艺/乐视视频网站会员大比拼
- 11-09qq会员有什么好处吗?
- 11-07买视频会员只看价格就low了!5分钟告诉你VIP怎么买更划算
- 11-06亿级会员时代的新玩法:视频网站VIP会员模式的探索
- 11-02记者体验三大长视频平台:充了会员能不看广告?你想多了
热门下载
-
1
2022百度网盘安卓版突破限速
类别:手机软件
-
2
免费领QQ超级会员助手
类别:QQ软件
-
3
抖音视频自动评论助手——养号必备
类别:手机软件
-
4
亲测可用的微信视频号下载器,内含详细教程
类别:电脑软件
-
5
视频字幕提取器怎么用?2023最新字幕提取工具 Video subtitle extractor 2.0.0
类别:电脑软件
-
6
和平精英捏脸助手v2.0
类别:QQ软件
-
7
酒店微型摄像头检测器-安卓版
类别:手机软件
-
8
抖音无水印解析批量下载pc版
类别:电脑软件
-
9
QQ动态个性名片—安卓版
类别:QQ软件
-
10
全网短视频无水印下载工具 支持tiktok
类别:电脑软件
-
11
2022最新版qq透明头像生成软件
类别:QQ软件
-
12
安卓魔音变声器青春版v2.1.3
类别:手机软件