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

xxn 阅读:95346 2025-01-09 22:01:35 评论:0
感谢IT之家网友 雨雪载途 的线索提交!

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.作者投稿可能会经我们编辑修改或补充。

搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容