基于 Electron 重构后,QQ 终实现三端架构正式统一

经过 24 年的版本更迭,QQ 已然成为了 80/90 后的回忆,如今作为 00 后的主战场。就在 7 月 3 日 QQ 一个最新版本的发布,吸引了不分年龄层次的技术人的目光。

据腾讯官方消息 7 月 3 日正式上线发布Windows QQ v9.9.0 体验版本。单从版本号和功能上并没特别亮眼的,在官方更新的日志中,显示基于全新的 NT 架构,自此正式实现了 macOS、Linux、Windows 三端架构统一,使用操作起来更加流畅快捷,并同时Windows新增 64 系统版本支持以及针对大众关注的内存占用率进行了深度优化和拆解。

基于Electron重构后,QQ终实现三端架构正式统一

(QQ官网介绍)

macOS、Linux、Windows 桌面版 QQ 采用全新的 NT 技术架构

桌面端 QQ 诞生已超过24年,期间也经历了很多版本的迭代,旧版的桌面端 QQ 采用纯Native 技术栈开发,多年的开发迭代,新旧的功能逻辑依然非常复杂和代码量非常庞大。其实一直以来,一套代码能够多端运行,是很多现代应用开发者及团队始终追求的目标,包括如今的 QQ 团队也不例外。出于对开发效率的考虑,新版 QQ 在技术选型及重构决策上,选用了一套标准化的框架来进行全面的架构升级,即全新的 QQ NT 架构。跨平台的复用方案能够确保 Windows / Mac / Linux 三个桌面端快速、高质量的迭代,实现一套代码多端运行及多端架构统一。

基于Electron重构后,QQ终实现三端架构正式统一

NT 架构

从架构图中不难看出, Electron在其中起到了不可或缺的作用。

Electron是一种开源的框架,用于构建跨平台的桌面应用程序。它允许开发者使用Web技术(HTML、CSS和JavaScript)来构建桌面应用,同时支持在Windows、Mac和Linux等多个操作系统上运行。

  1. Chromium:Electron使用了Chromium作为底层的渲染引擎。Chromium是一个开源的浏览器引擎,它提供了强大的Web功能和性能,包括HTML5、CSS3和JavaScript的支持。
  2. Node.js:Electron集成了Node.js运行时环境。Node.js是一个基于V8引擎的服务器端JavaScript运行环境,它使得在Electron中可以使用Node.js的API和模块,从而可以直接访问操作系统的功能,例如文件系统、网络和系统进程等。
  3. 渲染进程:Electron应用程序中的每个窗口都运行在一个独立的渲染进程中。这个渲染进程使用Chromium来渲染和显示应用的用户界面,并执行应用的前端代码,包括HTML、CSS和JavaScript等。每个窗口都有一个关联的渲染进程。
  4. 主进程:Electron应用程序还包含一个主进程,它是一个Node.js进程,负责管理应用程序的生命周期、创建和控制渲染进程,并提供与操作系统交互的能力。主进程可以访问底层的系统资源和API,例如文件系统、系统通知和原生窗口等。主进程还可以通过与渲染进程之间的进程间通信(IPC)机制来实现进程之间的通信和数据交换。

通过这样的架构,Electron使得开发者可以使用熟悉的Web技术来构建功能强大的桌面应用程序,并且可以在多个操作系统上进行部署和分发。

Electron架构具有以下的优势:

  1. 跨平台:Electron允许开发者使用Web技术构建跨平台的桌面应用程序。
  2. 开发效率:使用Electron,开发者可以利用熟悉的Web技术进行应用程序开发,如HTML、CSS和JavaScript。
  3. 强大的功能和扩展性:Electron整合了Chromium和Node.js,开发者可以利用Web技术和Node.js的能力来构建功能强大的桌面应用。

社区支持和生态系统:Electron拥有庞大的开发者社区和丰富的生态系统,开发者可以获得大量的文档、教程、插件和工具支持。

优势明显,其架构也存在一些缺点:

  1. 资源消耗:由于Electron应用程序需要运行Chromium和Node.js等组件,因此其资源消耗相对较高。这可能导致应用程序在启动时间、内存占用和性能方面表现不佳,特别是对于简单的应用程序来说可能显得臃肿。
  2. 大小较大:Electron应用程序的文件大小通常较大,因为它需要打包和包含Chromium和Node.js等组件。这可能导致应用程序的*载下**和安装时间较长,对于某些用户来说可能不够友好。
  3. 安全性:Electron应用程序在安全性方面需要额外的关注。由于应用程序使用Web技术,并具有访问底层操作系统的能力,不正确的实现和漏洞可能导致安全问题。开发者需要谨慎处理用户输入、文件操作和网络请求等,以确保应用程序的安全性。
  4. 更新和维护:由于Electron应用程序依赖于Chromium和Node.js等组件,当这些组件更新时,开发者需要及时更新应用程序以获得最新的功能和修复漏洞。

让人眼前一亮的新桌面版 QQ

正式上线的 Windows QQ 基于 NT 架构打造了全新的交互界面,UI 设计三端保持一致;消息界面采用了三栏式设计,整体风格更加清爽简约,方便用户查看所需信息;资料设置及资料卡也变得更简洁干净。

基于Electron重构后,QQ终实现三端架构正式统一

登录界面更新、消息界面三栏式设计

基于Electron重构后,QQ终实现三端架构正式统一

(QQ官网图片)

新版本支持消息、QQ 空间板块等功能,提升用户在工作、社交、生活等多个场景中的使用体验。语音、视频等通讯功能可一键开启,屏幕共享能力也同步支持。

基于Electron重构后,QQ终实现三端架构正式统一

(QQ官网截图-连续互通)

同时,QQ 安全团队协同腾讯多个安全实验室,在新版本 QQ 上全面加强各项核心安全能力,比如外挂检测、hook 检测、*动反**态库注入、反木马*号盗**、风控预警等多项核心安全能力,进一步保障用户数据资产安全。目前,用户可以通过 QQ 官网*载下**进行体验。