《原生技术&内核 - 2 - 正物 - DX4.0:基于KMP的原生研发框架新探索与实践V0.3.pdf》由会员分享,可在线阅读,更多相关《原生技术&内核 - 2 - 正物 - DX4.0:基于KMP的原生研发框架新探索与实践V0.3.pdf(47页珍藏版)》请在三个皮匠报告上搜索。
1、正物DX4.0:基于KMP的原研发框架新探索与实践关于我王康,花名正物,淘宝程师;iOS开发者,前Flutter Member,Aspectd作者;前专注Kotlin Multiplatform(KMP)和Compose Multiplatform,负责DX4.0原研发框架的建设与应。纲DX研发框架演进DX4.0选型与设计 DX4.0重点技术案 DX4.0业务实践 展望 DX介绍*DinamicX(DX)是淘宝乃阿集团泛使的Native动态化案*动态化-基础链路-集团共建-集团标准Native研发模式*具有性能、稳定、效率等特点*泛应于基础链路等核域DX演进1.02.03.02017初2017
2、末2018底两端统 模版平台H5持 表达式AST渲染管线 进制 程序持动态化案基础链路动态化案集团共建的动态化案3.5移动组研发效能WG Native研发模式容器 搭建 IDE 事件链2020初2022底4.0开放DSL 标准程 原逻辑研发&执 多端多设备新代原研发模式DX原研发框架纲DX研发框架演进 DX4.0选型与设计DX4.0重点技术案 DX4.0业务实践 展望 背景DX3.0挑战*XML UI表达不,JSON Logic表达有限*私有标准DSL有学习槛,收益不*程结构固化,法由组织业发展与技术趋势*愈发多元的设备终端*终端声明式UI兴未艾,天然持多端多设备核标技术选型 Kotlin 渲
3、染逻辑分离语法直观,效率,空安全优异的Java互操作性,服务端友好Android选开发语KMP持多标,JS/Wasm天然动态化保障渲染性能可扩展多语保留已有能,降低接成本控制SDK包增量Compose描述UIKotlin描述逻辑编译分离UI&逻辑渲染DSL研发配套运时标准集约束编译成UI进制&逻辑进制Linter/IDE/Debug/.逻辑引擎能库等DSL对DX3.0DX4.0Kotlin MultiplatformCompose MultiplatformDSLDesign架构设计纲DX研发框架演进 DX4.0选型与设计 DX4.0重点技术案DX4.0业务实践 展望 DX4.0重点技术案开发
4、者DSL 与程配套编译运时DSL示例开发者怎么写模板?DSL示例Mock数据模板注解数据绑定状态声明点击事件变量声明视图布局视图嵌套表达式调开发者怎么写模板?标准程(KMP)Kt与平台互操作IDE如何定制针对标准集的研发环境?IDE如何定制针对标准集的研发环境?调试(原理)如何在O2下调试各平台代码?调试(原理)如何在O2下调试各平台代码?调试(开发者动线)编译全景如何实现UI与逻辑分离?编译全景如何实现UI与逻辑分离?编译:类型推断DSL如何分析属性的类型与初始值?编译:类型推断DSL类型推断初始值推断14.0.toDouble()in base64分析结果如何分析属性的类型与初始值?编译:
5、DSL分析如何分析DSL中的视图结构等?编译:DSL分析DSLPSI视如何分析DSL中的视图结构等?编译:代码成(事件处理)事件处理.kt函数调转换(避免版本频繁变化/优化包)编译:Kotlin/Native编译链路Linux链路下KN是如何构建so的?编译:Kotlin/Native编译链路Linux链路下KN是如何构建so的?编译:基于Kotlin IR的LLVM位码成kt代码是如何成llvm字节码的?编译:基于Kotlin IR的LLVM位码成https:/llvm.org/docs/LangRef.htmlkt代码是如何成llvm字节码的?编译:Android链路Android链路如何
6、构建dex?如何保证安全?如何优化模板产物?编译:Android链路Android链路如何构建dex?如何保证安全?如何优化模板产物?运时状态声明状态绑定DSL设计纲DX研发框架演进 DX4.0选型与设计 DX4.0重点技术案 DX4.0业务实践展望 业务进展Cell级模板卡ScrollView滚动容器模板DX3.0业务逻辑(JSON)DX4.0业务逻辑(Kotlin)性能视图渲染*4.0编译产物中,视图描述基于3.0并扩展。*渲染管线复既有设计并扩展。*整体渲染性能与3.0持平逻辑执(以dex为例)*dex动态加载与预置相,性能差异主要是AOT和JIT。*预置在APK中的dex,在应安装时会被优化,包括AOT等。*动态加载的dex在次加载时进JIT等编译优化。纲DX研发框架演进 DX4.0选型与设计 DX4.0重点技术案 DX4.0业务实践 展望展望能完善业务研发框架 动画/主题/容器等能 多端多设备持.开发体验IntelliSense优化 编译优化 调试体验.业务推定义扩展 稳定性保障 问题排查 线上运维.联系我们感谢