从QQ桌面版本改版,可以学到这点架构知识,很重要。

.Net Core从零学习搭建权限管理系统教程
伴随我们24年的国民应用,QQ桌面版本迎来了全新的改版,QQ引入了全新的框架,实现了Windows、Mac、Liunx三端统一。
QQ更多报道,请看以下链接:
https://mp.weixin.qq.com/s/iuZT9bOknyY7bFPcnlxo1Q
今天我们一起来看看,从此次版本的迭代,我们可以学到哪些知识?

背景

1、早期Windows一统天下,QQ自然只开发了Windows版本的;

2、后面随着用户量增长,才推出Mac、Liunx版本,而且三个版本都是独立团队、独立代码。

3、随着移动互联的洗礼,各种组织架构调整、人才流动和业务兴替,当前的桌面端 QQ 处于一个比较臃肿、难以维护、缺少更新迭代的状态,三个版本维护代价太大了。

当前版本

1、放弃此前桌面版采用的 Native 开发方式,而是选用跨平台解决方案,带来全新的 QQNT 架构,采用Electron 框架;

2、从文章的架构图、还有官网的版本看,QQ底层架构是一致的,针对Windows、Mac、Liunx这三个平台,再做了一点个性化开发;

3、统一框架后,团队可以缩减并统一管理,同一份代码更加容易维护,不同平台方便统一更新。

图片

技术选择

1、跨平台桌面应用软件开发使用 Qt、Electron 较多,但是腾讯选择Electron;

2、Electron 已被多个开源 Web 应用程序用于前端与后端的开发,著名项目包括微软的 Visual Studio Code 等;

2、Qt相对Electron性能更好,腾讯团队也表示Qt性能更好,但是目前团队对 Qt 没有太多积累,基建基本没有,而且市场上相关人才其实比较匮乏,招聘就更难了。

图片

收获

1、选择技术、框架,一定是结合团队来考虑的,Qt虽然性能更好,但不合适;

2、Electron 占用更大的内存,但是腾讯团队不得不牺牲一点性能,换来提升开发效率与降低开发难度;

3、Facebook放弃了Electron,采用原生的开发,腾讯却反着过来,我想最大关键点还是成本,QQ桌面版已经不是腾讯的重点了,商业价值相对以前也下降了,投入的团队、资金肯定都缩减了,Electron顺理成章成为更合适的选择,成本也是框架选择的重要考虑的因素。

总之,我们选型技术、框架、开发工具,不存在最好的,只有更合适的,框架的设计必须基于团队、成本、未来业务的发展等来考虑的。

这也是我一直以来的观点,一个项目的框架,往往是与公司的组织架构对应的,团队掌握了什么技术、适合什么方式的开发模式等,自然框架也会做相应的调整。

同样的,为了业务选择全新的框架,团队的技能、开发模式也都需要做相对应的调整。

一个好的架构师,一定是能结合实际情况,做出取舍,从而设计出合适团队、业务的框架。

最后推荐下我的知识星球,我现在正在编写教程:《.Net Core从零学习搭建权限管理系统教程》,很多人已经基于这个框架,开发自己的产品、毕业设计了。

已经编写了32个课程,欢迎一起加入学习,带你从零学习框架的搭建

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/183606.html

联系我们
联系我们
分享本页
返回顶部