- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
KMM 技术在移动 App 开发中的探
索与实践
QCon 2023全球软件开发北京大会
分享人:袁晗光
袁晗光
百度资深研发工程师
从事软件开发 16 余年 ,2013 年入职百度 ,
目前负责百度 App 和其他多个创新类 App
功能迭代与框架设计方向,长期从事研发质
量 、效率间的平衡探索 。
QCon 2023全球软件开发北京大会
问题背景
编码成本高 ,需降本增效 。
• 相同的业务逻辑双端需用不同的语言各 自实现一遍 。
双端业务逻辑的实现完全一致还很难做到 。
• 同样的业务逻辑仅靠口头上或文档上方案对齐导致最终编码实现上有着不小的差别 。
• 双端体验上有着不小的差别 ,数据上产生的不一致性导致不便解释其合理性 (交互体验 、收益回顾 )。
• 双端业务逻辑实现方式不一致导致修改点不能完全对齐 、同步 。
QCon 2023全球软件开发北京大会
后期升级维护 、测试成本都较高 。
• UI 代码没有很好的和业务逻辑代码解耦合 ,造成业务逻辑代码复用困难 ,不方便做单元测试 ,组件间的循环依
赖增多 。
• 业务逻辑变更需要拉上双端的研发都对齐一遍 ,然后各 自编码实现一遍 。
• 同样的业务逻辑双端都需要测试验证一遍 。
目录
1. 概述
I. KMM 基本原理介绍
II. 同类跨平台框架对比 – Flutter React Native
2. KMM 开发环境介绍
I. 环境配置 项 目结构
II. 特定于平台的实现方式 – expect/actual
III. 如何引用已有组件 API
IV. 如何在已有的工程中集成 KMM – AAR Framework
QCon 2023全球软件开发北京大会
3. 重点技术
I. 多线程 – 模型 、状态共享 、可变性 、Atomic 类
II. 基础库建设 :网络 、数据库 …
4. 实践落地
I. 落地情况介绍
01
QCon 2023全球软件开发北京大会
1.1 KMM 基本原理 – 简介
Kot l i n Mu lt i p lat f o r m Mo b i le ,其 中 iO S 端 基 于 Kot l i n Nat iv e (简称 K N )技 术 ,A nd ro id 端
基 于 Kot l i n JV M ,利 用 K M M 技 术 可 以使 用 Kot l i n 语 言技 术 栈在 iO S 和 A nd ro id 应 用程 序之 间
共 享通 用代码 ,只在 必 要 时编 写特 定 于 平 台 的代码 ,用 来构建 统 一 的业务 逻 辑 代码 。
QCon 2023全球软件开发北京大会
1.2 同类跨平台框架对比 – KMM的优势
① 无需内置多套引擎(runtime) ,包体积增量更少 。
② 对于 Android 开发者无需多学习一套编程语言和编程思
想 ,门槛更低 。
③ 基于双端标准组件输出, 审核被拒风险较小 (iOS )。
④ 更强的互操作性 , 支持与本地编程语言的双向互操作 ,
React Native
可以直接使用现有库 ,避免了众多基础组件的重复建设 。
QCon 2023全球软件开发北京大会
⑤ ……
Flutter
02
QCon 2023全球软件开发北京大会
2.1 环境配置
• 安装工具:
• Android Studio (建议官方最新版)
• Kotlin 插件
• Kotlin Multiplatform Mobile 插件
• Xcode (12.5 版本及以上)
• JDK (8 及以上) QCon 2023
文档评论(0)