前端教程
当前位置: 主页 > 资讯 > 前端教程
大变天!24岁的QQ终于迎来了史诗级更新!
发布日期:2023-08-02 阅读次数:

  2011年,微信刚发布时,确实是名副其实的小而美。除了收发信息、设置昵称头像以及导入通讯录,微信不提供任何其他功能。

  然而,时间过去了十二年,微信已经不满足于做一个即时通讯App,而是成为了阵容庞大的“微信OS”,存储占用直逼3A游戏大作。

  微信的开发人员并没有设法去减少存储占用,而是不断地在既有的应用架构里堆更多的新代码。毕竟,手机存储寸土寸金,你不占就要被别的App吃掉。

  随着功能越来越臃肿,“微信OS”对手机性能的要求也越来越高。黑马拿出四年前的手机安装最新版微信,甚至无法完成登录加载。

  也许是开发组实在忍受不了,也许是腾讯突然良心发现,最近,他们终于重构了自己的软件——但重构的不是微信,而是QQ NT。

  这是旧版QQ的界面,从上世纪的OICQ至今一直都保持着两套界面,一套是联系人/消息列表,一套是聊天对话框。

  如你所见,这个菜单逻辑,放在2023年的今天,简直可以说无比抽象与炸裂。

  首先,联系人列表顶部和底部的icon设计风格并不统一,并且在这个界面,竟然有两个二级菜单按钮。

  右上方的三个点,按照我们人类的正常认知,应该是软件设置入口。然而,QQ反其道而行之,在这里面放的是各种功能导航。真正的设置,藏在了左下方的三条杠。

  但对于这次大升级,黑马只想锐评一句,这不就是微信PC版的设计理念吗?微信都用了八百年了,怎么换到你QQ就憋了这么久呢?

  其实吧,在代码界,有个很出名的叫法是“屎山”。它的意思大概就是,前人留下的代码已经年久失修了,但你必须在这座危楼上继续建新的房子,而且你不知道楼下哪一块墙在承重,只能在这个坑上继续盖坑。

  如果你试图拆掉其中一些代码,整个程序就跑不动了,因为你根本不知道是哪里错了,所以才被称为“屎山”。

  PC版微信发布时间较晚,因此可以从零开始开发,但QQ已经连续更新二十多年了,它的年龄可能比在座的某些读者都大。腾讯的程序员想改,也只是心有余而力不足。

  既然改不了,那就推倒重来,重构一个新的要比改“屎山”容易多了。于是,便有了QQ NT架构。

  这是QQ NT的架构技术图,它的后端采用了C++编写,桌面端的前端采用了Electron技术。

  如果看不懂,也没关系,我们只需要知道C++是一种跨平台可用的语言,一套代码只需稍加修改,就可以从Android端拿到iOS端复用。

  而这个Electron,就大有来头了。如果你知道B站PC版客户端,那你一定听说过它就是一个浏览器这个说法。

  这是因为,Electron本身集成了Chromium,而Chromium不仅是Chrome浏览器的内核,还被各大国产浏览器软件广泛使用。

  此外,像飞书、迅雷等软件,前端都是用Electron开发的。所以说,装上了新版QQ,你的电脑里就又多了一个“Chrome”。

  首先,新版QQ的安装包大小就有明显瘦身,比起旧版QQ,QQ NT的安装包少了将近40MB。

  在99+的群聊中爬楼,加载速度也有了巨大的提升。基本上点一下爬楼的箭头,界面就会立即跳转到最早未读消息。在旧版,还需要等QQ思索一下在哪,然后停一下,再思索一下在哪。相比之下,QQ NT体验提升明显。

  更重要的是,QQ NT终于原生支持了夜间模式,甚至还能够跟随系统变换,极其先进!

  此外,QQ NT还增加了重构的主题自定义功能,预设的几个主题配色还都挺好看。不过,腾讯毕竟是腾讯,这个功能要开SVIP才能用。对于普通用户,只有一次十分钟的试用时长。试用之后,说不定脑子一热,就给腾讯氪金了。

  前面有提到,QQ NT的前端是用Electron开发的。但是,Electron有个缺点,就是非常吃内存。比如B站客户端,仅仅是打开首页,就会有7个进程,吃掉600多MB内存。

  还真没有。QQ NT内存占用一般稳定在260MB左右,相比旧版会稍多一点,但比起B站动辄600MB的占用来讲,已经是史诗级优化了。

  但是,黑马发现,在部分场景下,QQ NT的内存占用会突然飙升到580MB。

  总的来说,QQ NT的重构还是比较优秀的,在保留既有核心功能的情况下,去除了很多用户不常用、不爱用的附加功能。

  对于腾讯来说,这无疑属于一种“让利”行为。去除掉这些附加功能,就意味着QQ放弃了桌面端的流量收入。但是,好像这才是一个通讯软件本来就该有的样子,我不需要什么资讯、视频、购物功能,这些功能在其他App上的体验反而更好。

  2011年,微信刚发布时,确实是名副其实的小而美。除了收发信息、设置昵称头像以及导入通讯录,微信不提供任何其他功能。

  然而,时间过去了十二年,微信已经不满足于做一个即时通讯App,而是成为了阵容庞大的“微信OS”,存储占用直逼3A游戏大作。

  微信的开发人员并没有设法去减少存储占用,而是不断地在既有的应用架构里堆更多的新代码。毕竟,手机存储寸土寸金,你不占就要被别的App吃掉。

  随着功能越来越臃肿,“微信OS”对手机性能的要求也越来越高。黑马拿出四年前的手机安装最新版微信,甚至无法完成登录加载。

  也许是开发组实在忍受不了,也许是腾讯突然良心发现,最近,他们终于重构了自己的软件——但重构的不是微信,而是QQ NT。

  这是旧版QQ的界面,从上世纪的OICQ至今一直都保持着两套界面,一套是联系人/消息列表,一套是聊天对话框。

  如你所见,这个菜单逻辑,放在2023年的今天,简直可以说无比抽象与炸裂。

  首先,联系人列表顶部和底部的icon设计风格并不统一,并且在这个界面,竟然有两个二级菜单按钮。

  右上方的三个点,按照我们人类的正常认知,应该是软件设置入口。然而,QQ反其道而行之,在这里面放的是各种功能导航。真正的设置,藏在了左下方的三条杠。

  但对于这次大升级,黑马只想锐评一句,这不就是微信PC版的设计理念吗?微信都用了八百年了,怎么换到你QQ就憋了这么久呢?

  其实吧,在代码界,有个很出名的叫法是“屎山”。它的意思大概就是,前人留下的代码已经年久失修了,但你必须在这座危楼上继续建新的房子,而且你不知道楼下哪一块墙在承重,只能在这个坑上继续盖坑。

  如果你试图拆掉其中一些代码,整个程序就跑不动了,因为你根本不知道是哪里错了,所以才被称为“屎山”。

  PC版微信发布时间较晚,因此可以从零开始开发,但QQ已经连续更新二十多年了,它的年龄可能比在座的某些读者都大。腾讯的程序员想改,也只是心有余而力不足。

  既然改不了,那就推倒重来,重构一个新的要比改“屎山”容易多了。于是,便有了QQ NT架构。

  这是QQ NT的架构技术图,它的后端采用了C++编写,桌面端的前端采用了Electron技术。

  如果看不懂,也没关系,我们只需要知道C++是一种跨平台可用的语言,一套代码只需稍加修改,就可以从Android端拿到iOS端复用。

  而这个Electron,就大有来头了。如果你知道B站PC版客户端,那你一定听说过它就是一个浏览器这个说法。

  这是因为,Electron本身集成了Chromium,而Chromium不仅是Chrome浏览器的内核,还被各大国产浏览器软件广泛使用。

  此外,像飞书、迅雷等软件,前端都是用Electron开发的。所以说,装上了新版QQ,你的电脑里就又多了一个“Chrome”。

  首先,新版QQ的安装包大小就有明显瘦身,比起旧版QQ,QQ NT的安装包少了将近40MB。

  在99+的群聊中爬楼,加载速度也有了巨大的提升。基本上点一下爬楼的箭头,界面就会立即跳转到最早未读消息。在旧版,还需要等QQ思索一下在哪,然后停一下,再思索一下在哪。相比之下,QQ NT体验提升明显。

  更重要的是,QQ NT终于原生支持了夜间模式,甚至还能够跟随系统变换,极其先进!

  此外,QQ NT还增加了重构的主题自定义功能,预设的几个主题配色还都挺好看。不过,腾讯毕竟是腾讯,这个功能要开SVIP才能用。对于普通用户,只有一次十分钟的试用时长。试用之后,说不定脑子一热,就给腾讯氪金了。

  前面有提到,QQ NT的前端是用Electron开发的。但是,Electron有个缺点,就是非常吃内存。比如B站客户端,仅仅是打开首页,就会有7个进程,吃掉600多MB内存。

  还真没有。QQ NT内存占用一般稳定在260MB左右,相比旧版会稍多一点,但比起B站动辄600MB的占用来讲,已经是史诗级优化了。

  但是,黑马发现,在部分场景下,QQ NT的内存占用会突然飙升到580MB。

  总的来说,QQ NT的重构还是比较优秀的,在保留既有核心功能的情况下,去除了很多用户不常用、不爱用的附加功能。

  对于腾讯来说,这无疑属于一种“让利”行为。去除掉这些附加功能,就意味着QQ放弃了桌面端的流量收入。但是,好像这才是一个通讯软件本来就该有的样子,我不需要什么资讯、视频、购物功能,这些功能在其他App上的体验反而更好。