《上午场 - 2 - 余枝强 - 万物智联下的HarmonyOS终端开发框架-v03.pdf》由会员分享,可在线阅读,更多相关《上午场 - 2 - 余枝强 - 万物智联下的HarmonyOS终端开发框架-v03.pdf(45页珍藏版)》请在三个皮匠报告上搜索。
1、余枝强万物智联下的HarmonyOS终端开发框架目录业界开发框架的演进万物智联下的新需求HarmonyOS终端开发框架的设计和实践下一步思考业务逻辑应用(APP)用户界面(UI)组件/布局/动效资源/包清单文件共享库SDK三方库典型的应用结构事件交互应用框架系统能力API生命周期/权限管理包管理图形引擎窗口合成多媒体内核系统运行环境UI编程框架(含语言运行时)系统基础服务应用的组成-以移动端的应用为例UI编程框架概览用 户 视 角视 觉交 互体 验开 发 者 视 角编 程 语 言开 发 界 面业 务 逻 辑系 统 视 角运 行 环 境图 形 显 示U I 编 程 框 架运行框架渲染管线动效引擎
2、UI组件事件机制语言运行时开发模型编程语言开发范式UI/API布局引擎平台适配平台能力扩展平台/系统服务适配图形引擎语言SwiftUI 1.0Compose 1.0SwiftUI 2.0Kotlin 1.0 AS支持Kotlin AS支持ComposeFlutter1.0UI编程框架工具-以AS为例多设备工程/部署/布局检查Flutter 2.5SwiftUI 3.0 SwiftUI 4.0Flutter 3.16Compose 1.3Swift 1.0 Swift 5.9 Kotlin 1.9Dart 1.0 React.jsReact NativeVue.jsDart 3.2AS:Andr
3、oid Studio;Compose:Jetpack Compose123AS首选Kotlin Crosswalk2011 2012 2013 2014 2015 2016 2017 201820192020 2021 2022 2023SwiftUI 5.0UI编程框架的演进来源:https:/ 面向过程声明式-面向结果命令式 vs 声明式声明式更直观,更简洁,开发者只要关注核心数据即可Apple,Google 都选择声明式UI作为新一代应用开发模式,并在底层重构相应的核心设计Android UI编程框架的演进(View-Jetpack Compose)来源:https:/ UI编程框架和语
4、言融合增强 数据绑定&数据变更感知 编译加速 开发工具向多设备演进 多设备UI 实时预览、组件级预览等 UI编程框架的变迁 从命令式UI到声明式UI 跨平台能力提升 个性化,多设备能力UI编程框架的演进小结WebPhoneGapCrosswalkFugo+PWA ChromeWebViewWeb模式小程序“脱胎换骨”模式WebFlutterWeex 2.0KUNSkylineWeb类三方应用框架的演进混合模式WebReactReact NativeVueWeex 1.0 HBSTalos1.不同形态的设备 不同屏幕(分辨率/长宽/形状/尺寸/)不同交互(触控/键鼠/遥控/语音/3D手势/)3.
5、不同设备之间的交互 无缝流转/协同/.2.不同能力的设备 不同处理能力(CPU/GPU/NPU/蓝牙/)不同规格(RAM/ROM 百KBGB/.)4.多个主流OS的并存跨OS5.内容快速部署的需求动态化内容部署机制万物智联下的新场景和新需求如何设计相应的应用框架?应用开发生态API&三方库IDE编程语言UI编程框架根主干编程语言图片来源于RedMonk官网:https:/ 综合考虑了Github&StackOverflowJS/TS持续领先TypeScriptJavaScriptParserASTByecodeGeneratorBytecodeFeedbackInterpreterJITAOT
6、类型信息只在编译时用未能在运行时有效利用类型信息;缺失精细化类型AOT缺失细粒度的并行化缺失主要不足:对标原生:JS/TS的现状以及不足UI编程框架对标原生:相关UI编程框架的现状以及不足WebViewSurfaceEventJS应用层代码应用层OS层关键技术:标准Web渲染模式,响应式前端框架典型代表:Web引擎关键技术:JS+原生组件直通渲染,轻量布局引擎&JS引擎典型代表:React Native关键技术:自绘制,AOT,组合式按需渲染典型代表:Flutter资源占用高;性能较弱依赖原生的渲染路径;语言性能问题&桥接层损耗;平台一致性弱语言生态较弱,开发范式的简洁度不够;如兼容JS生态需