当前位置:首页 > 报告详情

day2_3-张人杰、闫昌森-快手团队的 KMP 多平台业务落地实践.pdf

上传人: 明**** 编号:1069682 2026-01-17 46页 48.54MB

1、Developed by JetBrainsKotlin快团队的 KMP 多平台业务落地实践 张杰 闫昌森2025 Kotlin 中开发者会个简介张杰 快前端架构师 2018年加快,期专注于 移动端架构 和 研发效能 前作为快 KMP 跨端向负责,在快移动端基础架构中负责 App 架构 和 跨端基建,也曾在快视频技术部负责 C+SDK 编译基建建设。拥有有较为丰富的 App 架构设计和基建建设经验。个简介闫昌森 快前端架构师 2020 年加快,专注于前端 架构重构 和 研发效能,在快移动端基础架构中负责 App 架构重构以及跨端技术(KMP)业务实践落地。曾负责移动端基础组件及插件化等相关基建

2、建设,拥有多年移动端基建建设与架构重构落地经验。1.KMP 三端落地总览 2.KMP 三端迁移概述 3.KMP 三端落地实践 4.总结与展望录1.KMP三端落地总览KMP从鸿蒙到三端KMP逻辑层 鸿蒙落地提效KMP逻辑层 三端码多投KMP+CMP 全场景跨端20242025未来KMP三端落地策略复杂度场景性能场景稳定性QoS/QoE 可性验证推频迭代场景落地KMP 三端落地结果1、已覆盖直播、产、社交、消费等核业务,完成核场景三端上线。2、线上验证QoE/QoS基本损,验证了KMP在三端复杂场景的可性。3、KMP三端研发基建已完成建设,但基建成熟度相原仍有差距,需要持续提升。4、前正在进更范围

3、业务推落地。2.KMP 三端迁移概述KMP 架构渐进式迁移示意迁移中间态:依赖原能理想态:KMP闭环开发对应:SDK场景,持次性迁移对应:业务源码场景,不持次性迁移KMP 迁移过程拆解3.KMP 三端迁移实践快复杂业务场景-产直播链路介绍频/跨语通信链路性能保证在采集+推流的复杂链路下打通频通信能并解决性能问题KMP C+跨语机制不够完善半动,需要补,补过程中存在内存管理和性能坑点频实时性链路、多技术栈结合业务特点:挑战:快复杂业务场景-整体架构设计架构阶段具备渐进式迁移能,兼容多端异构架构开发阶段跨语,基础库等核研发能,撑KMP编码实现调试阶段断点调试,Profile具分析等能上线阶段发布集

4、成能,稳定性监控能,撑线上运维架构阶段原能注/KMP 定义业务能注能接,并提供全局注法 interface ServiceDelegate fun doSomething()fun inject(delegate:ServiceDelegate)/原能实现在合适的时机注ServiceInjector.inject(ServiceDelegateImpl()/通业务原能注 class ServiceManager private val services=mutableMapOf()fun register(key:ServiceKey,s:IService)require(serviceske

5、y=null)Service$key duplicated serviceskey=s 注和使时机 避免时序问题带来bug通能Service化 避免基础能的重复定义和注关注点:跨语数据结构传递胶层实现成本 强依赖全量字段转换避免数据丢失,不持渐进式下沉数据致性难保证 双实例拷,修改不可,同步成本,易出错临时案:对象拷 对象拷对象拷跨语数据结构传递改造彻底 仅存在套数据结构,不再需要考虑多份数据结构的兼容问题。改造成本过 需要次性将所有使位置替换,成本,险。终态案:数据完整下沉 跨语数据结构传递持渐进式迁移 次进 interface 抽象可以先迁移核部分,后续各业务可根据实际需求,在需要时逐步补

6、充缺失字段数据度致性 KMP 和 Native 操作的是同类型的对象,不存在内容丢失、状态不致的问题可案:对象代理 开发阶段K/N 与 OC 循环引问题/Kotlin/Nativeinterface Delegate fun onResult(result:String)class Manager var delegate:Delegate?=null fun start()delegate?.onResult(Work Done)/Objective-C-(void)viewDidLoad super viewDidLoad;self.manager=Manager alloc init;s

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
1. **KMP三端落地成果**:覆盖直播、生产等核心业务,QoS/QoE基本无损,研发基建已建成但成熟度待提升。 2. **迁移与架构**:采用渐进式迁移,支持SDK一次性迁移和业务源码逐步迁移;通过对象代理解决跨语言数据传递问题。 3. **性能与挑战**:与原生性能持平,预估提效50%(IMSDK复用98%);解决K/N与OC循环引用、符号冲突、GC效率等问题。 4. **未来规划**:开发AI迁移工具,优化K/N GC性能、调试体验及多so打包支持,推进KCMP跨端UI框架建设。
KMP如何提效? 跨端内存管理难吗? KMP性能如何?
客服
商务合作
小程序
服务号
折叠