前端教程
当前位置: 主页 > 资讯 > 前端教程
从QQ桌面版本改版可以学到这点架构知识很重要。
发布日期:2023-08-04 阅读次数:

  伴随我们24年的国民应用,QQ桌面版本迎来了全新的改版,QQ引入了全新的框架,实现了Windows、Mac、Liunx三端统一。

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

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

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

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

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

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

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

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

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

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

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

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

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

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