5月16日消息,2023年6月27日,手机QQ安卓8.9.63/ioses8.9.65发布,这是手机QQ首个基于NT架构的正式版,2023年7月3日,NT架构WindowsQQ上架官网,跨平台三端重构正式统一。腾讯开发者何金源今日发文,介绍了手机QQ技术架构升级背后的技术故事。

2020年,QQ开发团队开始着手做架构升级。鉴于手机QQ的业务复杂度、代码量级都非常大,于是他们采用分阶段、逐步演进的策略去进行架构升级。

手机QQ新架构按业务划分模块,业务模块之间相互解耦,通过接口和路由进行通信。同时按层级设计划分,层级自上而下依赖,上层模块可依赖下层模块,但下层模块不能逆向依赖上层模块。

由于QQ不同平台客户端各自发展,代码复用率极低,开发和维护成本过高,还导致了多端体验不一致、端内业务体验参差不齐等问题,开发团队决定推进手机QQNT架构升级项目。

为了实现架构升级和统一,项目团队先用C++开发了具备QQIM核心功能的跨平台内核层:把IM核心业务逻辑(IT之家注:好友、群、频道等消息逻辑、资料与关系链逻辑、图片语音视频等富媒体收发逻辑、实时音视频逻辑等),QQ通用组件,以及线程/网络/IO等通用资源管理模块和操作系统封装部分,由原来的各平台原生语言实现,统一下沉到C++跨平台层。

▲NT内核层采用C++跨平台内核

为了控制项目质量风险,NT跨平台内核先接入用户量相对较少,对功能补齐紧迫度高的桌面端,完全用新架构重写桌面端。在桌面端完成功能验证和质量测试之后,开始向移动端迁移,并顺利完成了ioses和安卓平台的集成。

开发团队基于重构后的架构,对性能进行全面优化。以聊天窗口(AIO)为例,基于全新数据流架构+数据预加载+UI逻辑并行化的设计思路,完成单向数据流驱动与异步加载渲染,系统资源全力供给AIO消息列表,最终性能指标提升明显,AIO内查看、跳转、滑动消息“顺畅丝滑”。其它QQ主场景,如消息列表页、消息与富媒体收发、图片视频查看等,也采用相同的路径进行优化,最终性能全面提升。

揭晓|“福社利体验区一分钟网站”现场报道带你掌握全貌

原创 手机qq开发团队开始做福社利体验区一分钟网站架构升级

5月16日消息,2023年6月27日,手机QQ安卓8.9.63/ioses8.9.65发布,这是手机QQ首个基于NT架构的正式版,2023年7月3日,NT架构WindowsQQ上架官网,跨平台三端重构正式统一。腾讯开发者何金源今日发文,介绍了手机QQ技术架构升级背后的技术故事。

2020年,QQ开发团队开始着手做架构升级。鉴于手机QQ的业务复杂度、代码量级都非常大,于是他们采用分阶段、逐步演进的策略去进行架构升级。

手机QQ新架构按业务划分模块,业务模块之间相互解耦,通过接口和路由进行通信。同时按层级设计划分,层级自上而下依赖,上层模块可依赖下层模块,但下层模块不能逆向依赖上层模块。

由于QQ不同平台客户端各自发展,代码复用率极低,开发和维护成本过高,还导致了多端体验不一致、端内业务体验参差不齐等问题,开发团队决定推进手机QQNT架构升级项目。

为了实现架构升级和统一,项目团队先用C++开发了具备QQIM核心功能的跨平台内核层:把IM核心业务逻辑(IT之家注:好友、群、频道等消息逻辑、资料与关系链逻辑、图片语音视频等富媒体收发逻辑、实时音视频逻辑等),QQ通用组件,以及线程/网络/IO等通用资源管理模块和操作系统封装部分,由原来的各平台原生语言实现,统一下沉到C++跨平台层。

▲NT内核层采用C++跨平台内核

为了控制项目质量风险,NT跨平台内核先接入用户量相对较少,对功能补齐紧迫度高的桌面端,完全用新架构重写桌面端。在桌面端完成功能验证和质量测试之后,开始向移动端迁移,并顺利完成了ioses和安卓平台的集成。

开发团队基于重构后的架构,对性能进行全面优化。以聊天窗口(AIO)为例,基于全新数据流架构+数据预加载+UI逻辑并行化的设计思路,完成单向数据流驱动与异步加载渲染,系统资源全力供给AIO消息列表,最终性能指标提升明显,AIO内查看、跳转、滑动消息“顺畅丝滑”。其它QQ主场景,如消息列表页、消息与富媒体收发、图片视频查看等,也采用相同的路径进行优化,最终性能全面提升。