《华为-严水峰-ArkUI开发框架在OpenHarmony项目中的实践和演进.pdf》由会员分享,可在线阅读,更多相关《华为-严水峰-ArkUI开发框架在OpenHarmony项目中的实践和演进.pdf(35页珍藏版)》请在三个皮匠报告上搜索。
1、ArkUI开发框架在OpenHarmony项目中的探索和演进严水峰 2023年7月 注:文中涉及观点的表达仅为个人见解,不代表本人雇主或关联实体的观点内容概述业界UI开发框架的演进万物互联下的UI开发框架新需求ArkUI开发框架的实践探索和演进业界UI开发框架的演进移动应用的典型结构和运行业务逻辑应用(APP)用户界面(UI)组件/布局/动效资源/包清单文件共享库SDK三方库应用框架系统基础服务系统能力API生命周期/权限管理包管理UI编程框架(含语言运行时)图形引擎窗口合成多媒体内核典型的应用结构系统运行环境事件交互业界UI开发框架的演进UI编程框架简介用 户 视 角视 觉交 互体 验开 发
2、 者 视 角编 程 语 言开 发 界 面业 务 逻 辑系 统 视 角运 行 环 境图 形 显 示U I 编 程 框 架运行框架渲染管线动效引擎UI组件事件机制语言运行时开发模型编程语言开发范式UI/API布局引擎平台适配平台能力扩展平台/系统服务适配图形引擎业界UI开发框架的演进UI开发框架编程模型命令式UI vs 声明式 UI Apple,Google 都选择声明式UI作为新一代应用开发模式,并在底层重构相应的UI组件设计声明式UI:UI绑定响应式数据,更高效,开发者只要关注数据提供类自然语言的声明式描述,更直观命令式UI 面向过程声明式UI 面向结果StateContainerImageT
3、ext“oldName”ContainerImageText“newName”Rebuild()Data:name_=“oldName”name_=“newName”Data:name_=“newName”ControllerContainerImageText“oldName”ContainerImageText“newName”findView()setText(“newName”)业界UI开发框架的演进Android UI编程框架的演进(来源:https:/ Compose路线图性能、高级组件封装、Material 3 组件集扩展、改进工具(预览和实时编辑)、多平台支持业界UI开发框架的
4、演进IOS UI编程框架的演进 UIKitSwiftUIMain.storyboard(页面描述)UIViewController(视图控制器)简洁的声明式语法高效的设计工具高效动画机制简化的数据流高级组件集成多设备适配业界UI开发框架的演进web类UI框架的演进WebPhoneGapCrosswalkFugo+PWA ChromeWebViewWeb模式小程序“脱胎换骨”模式WebFlutterWeex 2.0KUNSkyline混合模式WebReactReact NativeVueWeex 1.0 HBSTalos,业界UI开发框架的演进小结 UI编程框架和语言融合增强 数据绑定&数据变更
5、感知 编译加速 开发工具向多设备演进 多设备UI 实时预览、组件级预览等 UI编程框架的变迁 从命令式UI到声明式UI 个性化,多设备能力 跨平台能力提升UI编程方式语言特性融合开发工具万物互联下的UI开发框架新场景和新需求1.不同形态的设备不同屏幕 (分辨率/长宽/形状/尺寸/)不同交互 (触控/键鼠/遥控/语音/3D手势/)3.不同设备之间的交互无缝流转/协同/.2.不同能力的设备不同处理能力 (CPU/GPU/NPU/蓝牙/)不同规格 (RAM/ROM 百KBGB/.)4.多个主流OS的并存 跨OS 5.内容快速部署的需求 动态化内容部署机制万物互联下的UI开发框架UI开发框架设计要素
6、开发范式开发范式 组件库组件库/基础库基础库/三方三方库库 调试、调优、预览调试、调优、预览 性能性能/内存内存/功耗功耗 能力完备度能力完备度 UIUI设计和交互体验设计和交互体验不同设备的不同设备的UIUI适配适配不同设备的能力适配不同设备的能力适配跨跨OSOS的代码复用和体验的代码复用和体验 动态化内容机制动态化内容机制 应用部署应用部署SDKSDK包大小包大小开发效率性能&体验跨设备&跨OS其他要素ArkUI开发框架的实践探索和演进ArkUI开发框架简介ArkUI开发框架为OpenHarmony应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画、交