微信员工:原生鸿蒙是一套新的技术框架,意味着 App 要完全重写
IT之家在1月9日报道,微信的鸿蒙版App终于在华为应用市场(App Gallery)上线,版本号为1.0.3.42。
腾讯WXG(微信事业群)团队成员@客村小蒋今天分享了微信鸿蒙版App的上架过程,以下是该文章的部分内容:
今天,微信的鸿蒙原生版本在应用商店正式发布。
有些想法需要分享,来讲述这段经历。
我们开始直接进入主题,不再有多余铺垫。
但是,从我的身份来说,我的很多观点可能依旧是私见。
主导鸿蒙微信开发的负责人是老广研,他是当初微信1.0开发团队的一员。
这意味着他在腾讯的资历甚至比微信的历史更久。
当初1.0项目中,他负责开发塞班(Symbian)版的微信,而那个时候的诺基亚在市场上占据了主导地位。
然而,作为一个开放性远不如现代iOS和Android的“原始操作系统”,在塞班上开展开发工作相当艰难。
但是,他和团队通过不懈的努力,成功在塞班上实现了朋友圈和公众号等功能。
他们也没料到,诺基亚的迅速衰落是不以人的意志为转移的。
随后他带着团队开发了智能手表和车载系统,包括早期的Linux PC版微信。
不同品牌和终端的生态环境非常复杂,需要一个可跨平台的核心,来搭建基础支撑。
正好,当时团队刚看了热映的《阿丽塔:战斗天使》,于是他们决定将新的跨平台内核命名为“阿丽塔内核”。
阿丽塔,既帅气又能打。
阿丽塔内核成为了微信跨平台开发的基础组件。
微信的鸿蒙版也因而得益良多。
这样的经历似乎是注定的。
2024年3月21日,大家收到了一个重要通知,决定让他来主导鸿蒙微信的开发工作。
1、基础搭建:开发的第一天,鸿蒙微信就按照严格的标准开始建设。
“原生鸿蒙(HarmonyOS NEXT)全新技术框架,采用独特的ArkTS语言,这意味着所有的应用都需重写。”
这是我常常跟朋友分享的内容。
对微信团队而言,学习新语言可能是整个适配过程中的一项较小挑战。
在全新平台上开发支撑海量用户、高并发的通讯应用,同时整合支付、小程序、视频等多个核心模块,还是一项更大的挑战。
这是我想多次提到的私见。
也有人提到,原生鸿蒙在2024年10月才开启公测,怎么会有大量用户?
我记得原生鸿蒙发布会宣传的主题是:“待到山花烂漫时”,信念的力量十分强大。
微信的技术团队实力和热情是他们的依靠。
长期以来,在iOS和Android上的挑战,让他们在团队中深植了一些信念:如小做大系统、可扩展性、基础组件、灰度发布、精细监控、快速反应,以确保在系统稳定的前提下能够及时满足产品需求。
微信原生鸿蒙版团队从成立之初,规模便不亚于iOS和Android客户端开发团队。
“今天是这些人开发鸿蒙微信,几年后,依然是他们在做。”项目负责人如是说。
2、基础搭建和bug修复是一种修行
阿丽塔内核在开发鸿蒙微信的过程中发挥了重要作用。
但这只是基础建设的第一步。
高楼大厦的基础一定要非常扎实。
第二步是设计好鸿蒙微信客户端的架构,并编写模块文档,以便后续业务能够高效开发。
这一过程非常具有挑战性,不仅需迅速满足业务需求,还需考虑模块解耦和长期的高可扩展性。
换句话说,微信各模块之间要尽量减少依赖,避免某一模块故障影响整体功能,同时具备超高的扩展性。
在此过程中,团队与华为的技术团队频繁沟通,确保技术问题能迅速解决。
修复bug的过程伴随着开发始终存在。
程序员们常开玩笑,为什么总是离不开bug,而不能一举解决?
其实,问题的核心有几点:需求频繁变化、系统复杂、意外很多、时间成本有限以及人的不可预见性。
在鸿蒙和微信的结合中,这些问题加倍,让修复bug变成了一种修行。
在适配鸿蒙NEXT.0.0.6x的版本过程中,曾遇到一个频繁导致微信闪退的bug。
n
经过一周多的努力,团队仍未找到解决方法,这期间大哥脑海中反复想着这个bug。
最后,一个灵感的闪现,让他们从底层API中发现了问题所在,并迅速解决。
几个月后,我首次听到这段经历,回忆起了小时候看过的爱迪生试验灯丝的故事。
3、内测邀请和上架尝鲜
2024年国庆假期,鸿蒙微信开发团队全体成员都加班七天。
10月8日,原生鸿蒙正式公测的当天,鸿蒙微信也开始了内测邀请。
10月12日,微信测试版在鸿蒙应用商店的“应用尝鲜”专区上架,用户可以抢先下载尝试。
然而,作为普通鸿蒙用户,从10月12日到11月6日之间,想“抢”到微信是相当艰难的。
在这段时间内,有几个问题始终让人困扰,之前做过一些解释,这里再一起说明。
1)为何选择限量内测而非公开下载?
在新的平台上,开发一款能支撑大量用户并满足高并发通讯需求的应用,挑战极大。
因此,采用内测的方式逐步找出bug,然后修复,是符合软件开发规律的。
其他应用也采用了类似策略。
2)为何不能发布固定时间,要不定时发布?
正因为两个复杂系统的快速发展相互影响,让开发过程充满挑战。
举个例子:
某天傍晚,微信支付团队发现即将上架的新版本中,部分用户无法正常使用转账功能。
这时候,技术团队紧急进行排查。
经过多次沟通后,终于定位到问题,并在短时间内解决了,确保了上线。
3)为何有些人能提前获得安装包?
对于已售卖的安装包,我们感到很惊讶,迅速与华为沟通并进行排查,发现是商店的安全机制不够健全,已被修复。
4)为何瞬间就被抢光?
经过调查发现,有人用类似抢票软件的方式刷应用商店,导致触发了系统安全机制,拦截了大部分请求。
5)为什么无法提前收集内测用户名单?
这也是我们希望的,但由于多方面原因,稳定功能的版本需要反复迭代,因此我们采取了“抢”的方式。
4、“大家的键盘都被敲冒烟了”
在这个阶段,我也获得了不少“名号”。
当然,我理解大家情绪的宣泄。
虽然我不是开发人员,但从旁观察能体会到团队的艰辛。
曾在微博打趣称:“开发团队的键盘一定也很紧张”,这份热情我从中感受到了。
在程序员节上,华为终端CTO 李小龙转发了我的微博,并感谢开发团队的努力。
为了用户体验问题的快速修复,我们在努力,而构建鸿蒙生态是一项艰巨的任务。
5、稳定版本不限量下载,测试版同步进行
11月6日,经过持续迭代,基础功能得到加强的稳定版本终于推出。
我们与华为进行了高效的会议,决定大幅提升内测名额。
通过收集参与内测的用户名单,我们终于可以定向发放测试版。
接下来是持续的测试和更新,确保稳定版的顺利推出。
所有参与这个项目的团队都始终保持高效率。
正式版的发布是新的开始。
6、被误解是表达者的宿命,但不该是建造者的
我在微博简介里曾写道“制造熵减,消除误解”。
虽然听起来有些矫情。
熵减是熵增的反义词,意指世界从有序转向无序。
被误解是任何事物不可避免的。
但如果不断施加外力,可以减缓这种转变。
后来我向一位朋友请教,得到的建议是“驱动熵减”。
尽管我是个内向的人,但在网络中我很乐于表达,虽然收到不少负面评价,仍然意识到交流的重要性。
回顾起当时“抢”微信的经历,我个人的心理波动也很大。
我希望能找到合适的机会,分享开发团队在鸿蒙微信中的故事,为更多人提供新的视角。
非常感谢大家的支持与反馈。
广告声明:正文中包含的外链(如超链接、二维码等)仅用于提供更多信息,结果仅供参考。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。