首页 > 生活分享 > 免费教学 > 微信员工:原生鸿蒙是一套新的技术框架,意味着App要完全重写

微信员工:原生鸿蒙是一套新的技术框架,意味着App要完全重写

发布时间:2025-01-09 22:25:37来源: 13041198719

1 月 9 日消息,微信纯血鸿蒙版 App 今日正式登陆手机端华为应用市场(App Gallery),版本号为 1.0.3.42。

腾讯 WXG(微信事业群)员工 @客村小蒋 今日发布长文总结了微信纯血鸿蒙版 App 上架历程,IT之家附原文如下:

今天,微信鸿蒙原生版正式上架应用商店了。

有些话,想说一说,给这段时间做一个总结。

现在讲究零帧起手,也就是要讲就讲最关键的,不要前面各种铺垫,最后夹带私货。

但身份和视角的问题,我今天要说的,可能都是私货。

负责鸿蒙微信开发的大哥,是老广研,当年开发微信 1.0 的那批成员中的一位。

也就是说,他在鹅厂的时间,比微信的历史都久。

当年的 1.0,大哥负责搞塞班(Symbian)微信,曾经的诺基亚,从品牌到份额,应该是远超今天的苹果的。

但作为一个开放度远不如现在的 iOS 和 Android 的“原始操作系统”,在塞班上做东西,是刀耕火种。

大哥带着团队肯钻研,硬在塞班上手搓出了朋友圈、公众号。

没有想到,诺基亚这样的巨人的轰然倒塌,完全不以人的意志为转移。

之后大哥带着团队做智能手表、车机,包括最早的 Linux PC 端的微信。

不同品牌、不同终端,比手机更碎片化的生态,非常需要一个跨平台的内核,把最重要、最基础的能力搭成可复用的基建。

刚好和团队一起看了当时热映的《阿丽塔:战斗天使》,大哥说我们刚立项的跨平台内核,就叫“阿丽塔内核”吧。

阿丽塔,又帅又能打。

阿丽塔内核,也成了微信跨平台开发的基建。

微信鸿蒙版,也受益于此。

这样的履历,其实冥冥中有注定。

2024 年 3 月 21 日,一份简单又正式的通知来了,大家已经决定了,鸿蒙微信,你牵头来搞。

1、搭基建:第一天开始,鸿蒙微信就是按照“三峡大坝”建的

原生鸿蒙(HarmonyOS NEXT)完全是一套新的技术框架,编程语言是独特的 ArkTS 语言,这意味着所有的 App 都要完全重写。”

这句话,我经常会跟不同的朋友说起。

不过,对微信团队来说,学习新的编程语言,可能是整个适配工作中,最不算困难的事情之一。

在一个全新的平台上,做一款要支撑海量用户、高并发的通讯需求,同时有支付、小程序、视频平台等多个大功能模块的应用,还要满足极高频使用下的稳定性,是更大的挑战。

这也是我全篇最大的私货,我可能会反复提起。

也有人说,原生鸿蒙在 2024 年 10 月才开始公测,怎么就海量用户了?

我记得原生鸿蒙有一次发布会用的主题叫,“待到山花烂漫时”,信念的力量,很强大。

微信的技术团队,依靠的则是对技术的狂热信念。

iOS、安卓微信多年的捶打,他们早已把一些信念根植于团队中:比如大系统小做、让一切可扩展、必须有基础组件、灰度发布、精细监控、迅速响应,一切都是保证系统在稳定的前提下,能够敏捷响应产品需求。

微信原生鸿蒙团队,刚开始组建,就有一个堪比 iOS、安卓客户端开发团队的规模。

“今天是这些人做鸿蒙微信,几年以后,还应该是这些人在做。”大哥的 leader,另一个我非常敬重的技术大哥说到。

2、搭基建,修 bug,是一种修行

阿丽塔内核,在开发鸿蒙微信的过程中,居功至伟。

但这只是基建的第一步。

万丈高楼,第一天就要把地基打得足够深、足够牢。

第二步,还需要设计好鸿蒙微信客户端的架构、编写好各个模块的文档,让后续第二三阶段的业务进场后能够高效进行开发。

这一步极其有难度,不仅要快速满足业务诉求,还需要考虑业务之间的解耦,并具备长期的高可扩展性。

也就是说,让微信各个相互依存的模块,又在技术上尽量减少对彼此的依赖,避免因某个模块的故障影响其他功能。同时,有一个扩展性极高的框架。

也是这个时间,大哥带着团队开展了频率极高的对内对外沟通。

对外,和华为的技术团队进行了频率极高的线上线下交流;对内,push 各个业务团队将各自的基础库移植进来。

从搭基建一直到今天,修 bug 都是一个始终伴随开发过程的动作。

有一个经典的气死程序员的问题,“程序员为什么要一直写 bug ,不能一次性写好吗?”

程序员们也进行了各种“狡辩”,从类比答题、园丁和杂草、奇葩顾客买肉夹馍,到赌气只要产品经理永远不加新功能就不会有 bug。

其实核心就几个点:需求经常会变、系统太复杂、意外情况多、时间和成本有限,以及“人”,总是会出错的。

鸿蒙遇上微信,这样的问题就会加倍,两个高速前进、互相影响的复杂系统,让修 bug 就像一场修行。

6 月,在适配鸿蒙 NEXT.0.0.6x 的某个版本过程中,出现了一个经常导致开发中的微信闪退的 bug。

n

两个团队一起排查了一周多都毫无进展,大哥睡觉时,脑子里都在想这个 bug。

最后甚至是靠灵光一闪,从系统的一个底层 API 中发现了问题:同样的代码逻辑,在 iOS 上和安卓上都没问题,但在鸿蒙上就会遇到问题。

发现问题后,就能快速解决了。

几个月后,我第一次听说这段经历时,居然回忆起了小时候看的爱迪生试验灯丝的故事。

3、邀请内测、上架尝鲜

2024 年的十一假期,鸿蒙微信开发团队的全部人都加了七天班。

10 月 8 日,也就是原生鸿蒙正式公测的这天,鸿蒙微信也开始邀请内测。

10 月 12 日,微信测试版上架鸿蒙应用商店的“应用尝鲜”专区,用户可以抢先下载测试。

但如果从一个普通鸿蒙用户的角度,从 10 月 12 日到 11 月 6 日的不到一个月的时间里,因为要“抢”微信,可能是最痛苦的日子。

有几个问题,一直萦绕在这段时间,前前后后做过一些解释,这次放在一起讲一讲,尽量让大家了解来龙去脉。

1)为什么要用限量内测方式,不直接给所有人下载?

回到我开头的私货:在一个全新的平台上,做一款要支撑海量用户、高并发的通讯需求,同时有支付、小程序、视频平台等多个大功能模块的应用,还要满足极高频使用下的稳定性,是很大的挑战。

所以,用内测 → 找 bug → 修 bug → 加大内测的方式,是一个更符合软件开发规律的方式。

在原生鸿蒙上,很多 App 也采用了类似的方式。

2)为什么不能公布一个固定的时间,要不定时地放,甚至有时候深夜放?

再回顾下前面的一个私货:两个高速前进、互相影响的复杂系统,让开发就像一场修行。

举一个我深度围观的例子:

某天晚上的 19:20 左右,项目组微信支付团队发现,即将要上架的最新尝鲜版的微信,小部分用户的转账入口出现 bug,点击后无反应。

微信支付团队和项目组基础技术团队开始同步排查问题。

20:15,客服团队同步后台客诉情况。

20:57,微信支付团队初步定位,有问题的代码是今日合入导致的,疑似是 LiteApp(跨端的框架,微信转账是鸿蒙第一个使用这个框架的功能)的问题。

21:31,进一步定位到问题,在某些比较极端的情况下,LiteApp 的文件缓存写入被系统提示权限不足,联系华为技术团队一起定位。

21:47,支付技术团队完成问题修复,合入后,提交版本给测试团队。

22:32,支付技术团队复盘问题,提出后续改进措施:测试、开发严谨度提升。

22:41,微信基础技术团队向华为应用商店提审新版本内测包。

22:54,向华为应用商店提审尝鲜版。

23:30,最新尝鲜版微信通过审核,上架尝鲜专区,转账问题修复。

3)为什么那段时间,一边抢不到,一边有人在二手平台上卖安装包?

看到售卖安装包的链接,我们也很震惊,立刻找了华为一起排查原因,简单来说,是因为应用商店没有做严格的鉴权,有人用技术手段从商店里抓了安装包来安装,甚至教这种办法牟利。很快,华为也修复解决了这个问题。

4)为什么老是瞬间就抢光?

有一段时间,实际登录微信的名额,远远低于放量的名额。再次排查发现,有人用类似抢票软件的“脚本”,去刷应用商店的放量,也因此触发了商店的安全机制,拦截了大部分的需求。

5)那为什么不能提前收集愿意参加内测的用户名单,给他们定向发测试版就好了,其他人用稳定版,不就不用一次次地抢了?

这确实也是我们更希望的方式。大家“抢”微信,更本质的原因是需要用微信。

但当时有几个客观的限制条件:一个稳定的、必须的基础功能都具备的版本,需要多次的迭代;鸿蒙对一个 App 内测名额的上限,有比较大的限制,一个新功能稳定性的测试,需要的用户量级要远超于此。

4、“大家的键盘都被敲冒烟了”

这段时间,我也获得了屌毛的美名。

当然,我理解,这更多是情绪的宣泄。

我不是开发人员,但从深度围观中,能感受到两个团队的不易。

有一次在微博开玩笑,“我之前说开发同事键盘都敲冒烟了,其实不夸张。从开发同事的反馈里,我能感受到鸿蒙开发同学的键盘应该也不好受。”

转天刚好是 10 月 24 日,程序员节,华为终端的 CTO 李小龙先生转了这条微博,写到:

今天是 1024 程序员节,我们要致敬广大鸿蒙开发者朋友们,同时也感谢广大用户为我们反馈问题,大家的宝贵意见对鸿蒙生态的完善与提升很有帮助。如 @客村小蒋 所说,尽快发现问题、修复问题,给广大用户带来极致体验,是各厂商和鸿蒙的共同目标。构建鸿蒙生态是一个艰巨的任务,即使已经取得了一些进展,但还是面临着很多挑战。华为与国内上万家生态伙伴、数十万人共同投入,展现了强大的合作力量。现在每天都有大量鸿蒙原生应用上架,且迭代飞速,有些甚至每天迭代一个版本。两天前 HarmonyOS NEXT 正式发布,我们也会和各厂商、广大开发者一起继续努力,也希望更多的用户升级、体验,反馈意见

5、稳定版本不限量下载,测试版同步进行

11 月 6 日,经过一个月的高速迭代,基础功能有所完善的稳定版本有了。

和华为团队进行了一个极其高效的线上会议后,内测名额的上限也有了大幅提升。

收集愿意参加内测的用户名单,给他们定向发测试版,其他人用稳定版的方案,终于可行。

之后就是持续的:新的测试版邀请内测 → 抓 bug → 修 bug → 扩大测试 → 更新稳定版 → ……

直到今天的正式版上线,开发、产品、测试、生态合作…… 所有参与到这个项目里的团队,都未有一天松懈。

正式版,是一个新的继续向前的开始

6、被误解是表达者的宿命,但不该是建造者的

我的微博简介里原来有一句话,叫“制造熵减,尝试努力消除一些误解”。

很装 x。

“熵减”是“熵增”的反义词。啥叫“熵增”,我的理解就是世界是一个巨大的,不断从有序向无序转化的混沌体。

被误解,是任何一个系统或者物体的宿命。

但是,如果不断有外力来施加影响,起码是能减缓有序向无序转化的速度的。

后来请教了我的朋友里,最有文化的一位哈佛博后,他告诉我,“熵减”可能无法制造,更好的说法,或许是“驱动熵减”。

现实里我虽然内向,在网上却是个爱说话的人,尽管被叫成叼毛,但很高兴应该还是有一些朋友因为有了更多的了解,有了新的判断。

不然应该不会同时有那么多人叫我靓仔

现在回忆起来轻松很多,但在需要“抢”微信的那段时间里,

我个人被骂的程度,也是我从来没有经历过的,

严重的时候,自认内心强大的我,睡眠甚至也受了点影响,

将心比心,作为一个并未实际参与开发,仅是围观的人,

已经有如此大的心理波动。

我就更想找一个合适的机会,

讲一讲同事开发鸿蒙微信的一些故事,

给更多的朋友更多的视角。

感谢大家一直以来的陪伴、反馈。

免费教学更多>>

高通骁龙 8s Elite 跑分超200w,略弱于8Gen3 工信部印发《打造“5G+工业互联网”512工程升级版实施方案》 微软Win11 24H2文件管理器BUG频出,2025年首更有望修复 xAI 正在为其 Grok 聊天机器人测试一款独立的 iOS 应用程序 华为果断“发飙”,从2999元跌至1658元,麒麟8000+鸿蒙OS 微信员工:原生鸿蒙是一套新的技术框架,意味着App要完全重写 30秒丨会“长大”的电脑长啥样?中国造全球首款卷轴屏AI笔记本电脑亮相CES 性能与性价比均衡之选:三星次旗舰固态硬盘 990 EVO Plus 三星显示器将于4月量产可卷曲的笔记本电脑显示屏 三星Galaxy F16 5G手机跑分曝光:联发科天玑6300芯片、8GB内存 戴尔品牌大调整:结束XPS,产品线重新划分为三大类别 款款“封神”!联想CES2025十大定义未来的创新 联想推出第六代ThinkCentre M90a Pro一体机:27英寸QHD显示屏 乘联会:2024年新能源乘用车零售1089.9万辆,国内零售渗透率49.4% 新能源出海观察|远景能源:技术创新是开拓海外市场的基石 乘联会:预计2025年中国新能源乘用车零售将超1300万辆 两部委:2025年至2027年中国新能源利用率不低于90% 一汽解放:预计2025年中国车企中重卡出口量会有提升 零跑C11:2024款增程版,轴距2930mm,家用值得选吗? 小鹏新车谍照曝光!或命名为G7,SUV轿跑风格抢眼 小鹏全新SUV车型G7外观公布:号称“25万级最能打” 广汽22款新车大曝光!增程技术+华为合作,未来已来! 特斯拉新款Model Y Performance谍照曝光!烈焰红拉风 无线耳机狂卷CES:运动与AI成两大主旋律,听得清只是基本功 享受好音质与舒适佩戴体验,南卡 Runner Air 耳机给你带来惊喜 海外爆款袭来,洛斐小顺青春版键盘诠释科技美学如何成爆款 芝奇要上天了 内存成功超频至DDR5-10600 海洋主题设计,盈通发布樱瞳水着Atlantis系列显卡 标注16T硬盘实际容量只有200G 网购移动硬盘当心“扩容盘” CES 2025:联想硬核出击!两款电竞显示器与全新游戏平板抢先看