2021-09-01 20:20:00
背 景
作为一个重要业务,微信支付在客户端上面临着各种问题。其中最核心问题就是分平台实现导致的问题:
iOS 和安卓实现不一致
扩展性差,无法快速响应业务需求
质量保障体系不完善
用户体验不一致
比如下图就是之前安卓和 iOS 没有统一前的收银台。
为了解决分平台实现这个核心问题,并解决以往的技术债务。我们建立起了一整套基于 C++的跨平台框架,并对核心支付流程进行了重构。
微信支付跨平台从 iOS 7.0.4 版本起, 安卓从 7.0.7 版本起全面覆盖。
线上效果指标
以 iOS 上线情况为例:
Crash 率
上线前后 Crash 率保持平稳,没有影响微信稳定性,跨平台支付无必现 Crash,做到了用户无感知切换。
举个例子,大家可以用微信发一笔红包,拉起的收银台和支付流程就是由基于C++编写的跨平台代码所驱动的。
效能提升
以核心支付流程代码为例,跨平台需要 3512 行,iOS 原生需要 6328 行。减少了近 45% 的代码。
以新需求开发为例:
7.0.4 版本需求一:收银台改版
7.0.4 版本需求二:简化版本收银台
那么支付跨平台软件架构怎么样有效进行质量保障,并且提升生产力呢?