
腾讯WXG(微信事业群)员工@客村小江今天发表长文,总结了纯血统鸿蒙版微信App的上线过程。 IT之家附原文如下:
今天,微信鸿蒙原生版在App Store正式上线。
有一些事情我想说并总结一下这段时间。
现在我们讲究从零帧开始,就是说要讲最关键的事情,不要在前面用各种伏笔,最后落得私货。
但在身份和视角问题上,我今天要讲的可能是私人物品。
负责鸿蒙微信开发的大哥是老光彦,微信1.0的开发成员之一。
也就是说,他在鹅厂的时间比微信的历史还要长。
早在1.0的时候,大哥就负责开发()微信。曾经的诺基亚,无论是品牌还是份额,都应该远远优于如今的苹果。
但作为一个开放性远不如现在的iOS和iOS的“原生操作系统”,在上做东西就是刀耕火种的方式。
大哥带队,肯努力学习,还创建了朋友圈和塞班公众号。
没想到诺基亚这样的巨头的倒塌完全不以人的意志为转移。
之后,大哥带领团队做了智能手表和车机,其中包括最早的Linux PC版微信。
不同的品牌、不同的终端,以及比手机更加碎片化的生态系统,都非常需要一个跨平台的核心,将最重要、最基础的能力构建成可复用的基础设施。
刚好和团队一起看了当时热播的《阿丽塔:战斗天使》。我大哥说我们刚刚推出的跨平台内核应该叫“Alita ”。
阿丽塔,帅气又能干。
Alita Core也成为了微信跨平台开发的基础设施。
微信鸿蒙版也受益于此。

这样的简历,其实是命中注定的。
2024年3月21日,一份简单而正式的通知来了。大家都决定了,鸿蒙微信,你来带头。
1、建设基础设施:从第一天起,鸿蒙微信就按照“三峡大坝”来建设
“原生鸿蒙(NEXT)是一个全新的技术框架,编程语言是独特的ArkTS语言,这意味着所有应用程序都必须完全重写。”
我经常和不同的朋友谈论这句话。
然而,对于微信团队来说,学习一门新的编程语言可能是整个适配工作中最不困难的事情之一。
在一个全新的平台上,我们需要构建一个支持大量用户、高并发的通信需求的应用。它还拥有支付、小程序、视频平台等多个大功能模块。还需要满足极高频使用的稳定性。 ,是一个更大的挑战。
这也是我整篇文章中最大的秘密,我可能会一再提及。
也有人说原生鸿蒙要到2024年10月才开始公测,怎么会有这么多用户呢?
我记得原生鸿蒙的一次发布会的主题叫“山花盛开时”,信仰的力量非常强大。
微信的技术团队依靠的是对技术的狂热信仰。
经过多年与微信在iOS、上的耕耘,他们已经在团队中扎根了一些信念:比如把大系统做小、让一切都可扩展、有基础组件、灰度发布、精细监控、快速响应,以保证在系统运行平稳稳定的前提下,能够快速响应产品需求。
微信原生鸿蒙团队,刚成立时,规模与iOS、客户端开发团队相当。
“今天这些人在做鸿蒙微信。几年后,这些人应该还在做。”我的大哥,也是我非常尊敬的一位技术大哥说道。
2. 构建基础设施和修复bug是一种实践。
Alita核心在鸿蒙微信的发展过程中发挥了重大作用。
但这只是基础设施建设的第一步。
一座高楼,第一天的地基必须打得足够深、足够牢固。

第二步,还需要设计鸿蒙微信客户端的架构,编写各个模块的文档,以便进入市场后能够高效地开展后续的第二、三期业务。
这一步是极其困难的。不仅需要快速满足业务需求,还需要考虑业务之间的解耦并具有长期的高扩展性。
换句话说,微信各个相互依赖的模块在技术上应该尽可能减少彼此之间的依赖,避免某个模块出现故障影响其他功能。同时,还有一个可扩展性极高的框架。
也正是在这个时候,大哥带领团队进行了极其频繁的内外部沟通。
对外,我们和华为技术团队进行了非常频繁的线上线下交流;在内部,我们推动各个业务团队移植各自的基础库。
从基础设施建立到今天,bug修复是开发过程中始终伴随的一个动作。
有一个经典的问题让程序员很恼火,“为什么程序员总是写bug?难道他们不能一次性全部写出来吗?”
程序员们也提出了各种各样的“狡辩”,从类比回答问题、园丁与杂草、奇怪的客户买肉夹馍,到生气产品经理只要不添加新功能就不会出现Bug。
其实核心点是:需求经常变化、系统过于复杂、意外情况很多、时间和成本有限、“人”总是会犯错误。
当鸿蒙遇上微信,这样的问题就会加倍。两个高速前进并相互作用的复杂系统使得修复错误就像一种精神修行。
6月份,在适配鸿蒙NEXT.0.0.6x某个版本的过程中,出现了一个bug,经常导致微信在开发过程中崩溃。
两个团队一起工作了一个多星期来排除故障,但没有取得任何进展。哥哥睡觉的时候,脑子里就在想这个虫子。
最终,即便灵光一现,我还是从系统的一个底层API发现了问题:同样的代码逻辑在iOS和上没有问题,但在鸿蒙上就会遇到问题。
一旦发现问题,可以快速解决。
几个月后,当我第一次听说这段经历时,我居然想起了小时候看过的爱迪生实验灯丝的故事。
3.邀请内部测试和早期采用者上架
2024年国庆假期,鸿蒙微信开发团队大家加班7天。
10月8日,原生鸿蒙正式启动公测的当天,鸿蒙微信也开始邀请内测。
10月12日,微信测试版在鸿蒙应用商店“App尝鲜”版块上线,用户可抢先下载测试。

但从普通鸿蒙用户的角度来看,10月12日到11月6日这不到一个月的时间可能是最痛苦的日子,因为需要“抢”微信。
这期间有几个问题一直萦绕不去,也给出了一些解释。这次我就一起来说说,试图让大家了解一下来龙去脉。
1)为什么要使用有限的beta测试而不是直接下载给所有人?
回到最开始我的个人项目:在一个全新的平台上,做一个支持大量用户、高并发的通信需求的应用,并且有支付、小程序、微信等多个大功能模块。视频平台。它还需要满足极高频率使用下的稳定性是一个很大的挑战。
因此,采用内部测试→发现Bug→修复Bug→增加内部测试是一种更符合软件开发规则的方法。
在原生鸿蒙上,很多App也采用了类似的做法。
2)为什么不能公布固定时间,而应该时不时地发布,有时甚至是深夜?
我们回顾一下之前的私文:两个高速前进、相互作用的复杂系统,让发展就像一场心灵修行。
举个我仔细观察过的例子:
一天晚上19点20分左右,项目组微信支付团队发现即将上线的最新微信尝鲜版在少数用户的转账入口存在bug,之后没有任何反应。点击。
微信支付团队和项目组基础技术团队同步开始排查问题。
20点15分,客服团队同步后台客户投诉。
20点57分,微信支付团队初步判定涉案代码是今天集成导致的,怀疑是跨端框架的问题,微信转账是鸿蒙第一个使用该框架的功能。
21时31分,问题得到进一步查明。某些极端情况下,系统提示文件缓存写入权限不足。联系华为技术团队一起定位。
21时47分,支付技术团队完成问题修复,集成后将版本提交给测试团队。
22点32分,支付技术团队对问题进行了审核,并提出了后续改进措施:提高测试和开发的严格性。
22时41分,微信基础技术团队将新版本内测包提交至华为应用商店审核。
22点54分,尝鲜版本提交华为应用商店审核。
23点30分,微信最新尝鲜版通过审核,上架尝鲜版块,并修复转账问题。

3)为什么那段时间,在无法使用的情况下,有人在二手平台上出售安装包?
当我们看到出售安装包的链接时也感到震惊,立即要求华为调查原因。简单来说,就是因为应用商店没有进行严格的认证,有人利用技术手段从商店抓取安装包并安装。他们甚至传授这种方法来盈利。很快,华为也修复并解决了这个问题。
4)为什么它们总是立即售空?
有一段时间,实际登录微信的人数远远低于可以登录微信的人数。另一项调查发现,有人使用类似于抢票软件的“脚本”来增加应用商店的流量,这也触发了商店的安全机制,拦截了大部分需求。
5)那我们为什么不能提前收集愿意参加内测的用户名单,直接发给他们内测版本呢?别人用稳定版的话,不就得一次又一次的抢吗?
这确实是我们更喜欢的方式。人们“抢”微信更本质的原因是需要使用微信。
但当时有几个客观限制:一个具有所有必要基本功能的稳定版本需要多次迭代;鸿蒙对于App的内测名额上限有比较大的限制,而新功能的稳定性测试需要的用户远不止这个。
4.“每个人的键盘都因为打字而冒烟”
这段时间,我也获得了屌丝的名声。
当然,我明白这更多的是一种情感的宣泄。
我不是开发人员,但从深入观察中,我能感受到两个团队的难度。
我曾在微博上开玩笑说,“我之前说过,开发同事的键盘打字时会冒烟,其实这并不夸张。从开发同事的反馈中,我能感觉到,鸿蒙开发同学的键盘也应该是这样的。”会不舒服。”
第二天正好是10月24日,程序员节。华为终端CTO李小龙先生转发了该微博并写道:
今天是 1024 程序员节。我们向鸿蒙开发者朋友致敬,也感谢向我们提供反馈的用户。您的宝贵意见对于鸿蒙生态系统的完善和完善非常有帮助。正如@ Jiang所说,尽快发现问题、解决问题,给用户带来极致的体验,是所有厂商和鸿蒙的共同目标。构建鸿蒙生态系统是一项艰巨的任务。尽管取得了一些进展,但仍面临许多挑战。华为与国内数万家生态合作伙伴、数十万人共同投资,展现了强大的合作力量。如今,每天都有大量鸿蒙原生应用上架,迭代迅速,有的甚至每天迭代一个版本。 NEXT前两天正式发布。我们将继续与各厂商、开发商共同努力。我们也希望更多的用户升级、体验、反馈。
5.稳定版无限下载,内测版同步测试
11月6日,经过一个月的高速迭代,发布了基础功能完善的稳定版本。
在与华为团队进行了极其高效的在线会议后,内部测试配额的上限也得到了大幅提高。
收集愿意参与内部测试的用户列表,向他们发送测试版,并为其他人使用稳定版,终于可行了。
之后还会继续:新Beta版本邀请内测→捕获Bug→修复Bug→扩大测试→更新稳定版本→……

直到今天正式版本上线,开发、产品、测试、生态合作……所有参与这个项目的团队都没有一天放松过。
正式版是一个新的开始,砥砺前行。
6、被误解是表达者的命运,但不应该是建造者的命运。
我的微博里本来有一句话叫“创造熵减,努力消除一些误解”。
非常自命不凡。
“熵减少”是“熵增加”的反义词。什么是“熵增”?我的理解是,世界是一个巨大的混沌体,不断从有序转变为无序。
被误解是任何系统或物体的命运。
但如果外部力量继续施加影响,至少可以减缓从有序到无序的转变。
后来我咨询了我的一位朋友,受教育程度最高的哈佛博士后,他告诉我“熵减”可能不会产生。更好的术语可能是“驱动熵减少”。
虽然现实中的我很内向,但在网上我却是一个很健谈的人。尽管我被称为“婊子”,但我很高兴我还有一些对我有更多了解、有新判断的朋友。
不然的话,也不应该有那么多人同时夸我帅。
现在想起来容易多了,但在我需要“抢”微信的那段时间,
被骂的程度是我从来没有经历过的。
严重的时候,我以为自己的精神很坚强,甚至连睡眠都受到了一点影响。
对比我的感受,作为一个没有实际参与开发,只是旁观的人,
心理发生了这么大的波动。
我宁愿找一个合适的机会,
我给大家讲几个同事开发鸿蒙微信的故事。


