> 文章列表 > KMM 跨平台移动 App 开发探索与实践

KMM 跨平台移动 App 开发探索与实践

KMM 跨平台移动 App 开发探索与实践

提升效率永远是软件研发要追求的目标,让代码实现跨平台运行似平就是永恒的主题。当前本该一样的业务逻辑双端需要各实现一遍,最后不仅体验上有着细微的差别,QA 也需要双端各验证一遍;以及由于 UI 代码没有很好的和业务逻辑代码解耦合,导致业务逻辑代码复用困难等,这些影响人效的瓶颈该如何突破?

一、背景

针对传统的分端开发来说,有很多的弊端:

编码成本高,需降本增效

  • 相同的业务逻辑双端需用不同的语言各自实现一遍 。双端业务逻辑的实现完全一致还很难做到。
  • 同样的业务逻辑仅靠口头上或文档上方案对齐导致最终编码实现上有着不小的差别。
  • 双端体验上有着不小的差别,数据上产生的不一致性导致不便解释其合理性(交互体验、收益回顾)。
  • 双端业务逻辑实现方式不一致导致修改点不能完全对齐、同步 。

后期升级维护、测试成本都较高

  • UI 代码没有很好的和业务逻辑代码解耦合,造成业务逻辑代码复用困难,不方便做单元测试,组件间的循环依赖增多。
  • 业务逻辑变更需要拉上双端的研发都对齐一遍,然后各自编码实现一遍 。
  • 同样的业务逻辑双端都需要测试验证一遍 。

二、概述

2.1 KMM简介

我对跨平台技术产生兴趣始于16 年左右,大约在 Swift 语言刚推出不久。那时,我们在做创新类 APP 方面很活跃,我做了一个类似于云控的模块,云控模块估计在许多 APP 上都存在。按照以往的做法是 iOS 和 Android 双端各出一个 RD 来开发这个模块,过程中通过设计文档对齐