logo资料库

4-8.生态案例:华为分布式日历应用开发实践.pdf

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
华为分布式日历应用开发实践
华为产品中的分布式日历应用 1、分布式应用架构 • 遵循MVVM • 一套架构适配多设备形态 2、分布式数据服务 • 三步实现日程同步
应用架构要满足两点要求 数据 业务逻辑模块 应用程序 加工处理数据 界面模块 呈现、交互 用户 日历应用特点 • 界面:易变更,产品定制性强 • 业务逻辑:日历数据计算逻辑复杂,但多 产品通用 界面开发要简单、业务逻辑实现要健壮高效
HarmonyOS 应用原生支持JS与Java两种语言 Android 应用 Java 界面 业务逻辑 Java:界面命令式开发,能实现复杂的 界面逻辑,但不够简单、灵活 RN、Vue 应用 Javascript 界面 业务逻辑 JS:复杂运算速度较慢,代码的隐私性差 HarmonyOS 日历应用 Javascript FA 界面 组件间接口 Java PA 业务逻辑 简单 声明式开发,纯粹做界面 高效健壮 可使用Java强大类库及高性能 可复用、可独立测试 • 支持JS、Java混合编程,各取所长
一套架构适配多设备形态 JS FA View JS Page-TV JS Page- Watch View视图层: • 多JS Page针对不同设备进行深度UI定制 • MVVM分层,多设备界面 适配只需要修改View层 Java PA 组件间接口 call&subscribe ViewModel Model ViewModel视图模型层: JS与Java的数据绑定 • 日历业务逻辑 日程业务逻辑 日历数据 分布式日程数据 Model模型层: • 业务逻辑与数据 • 分布式日程数据 HarmonyOS平台能力
Model层数据经过ViewModel传递到View层界面 1 生成月视图数据 MonthData,提供给 ViewModel java.util.Calendar、TimeZone、Locale…
Model层数据经过ViewModel传递到View层界面 1 生成月视图数据 MonthData,提供给 ViewModel 2 ViewModel层 序列化MonthData
Model层数据经过ViewModel传递到View层界面 AceInternalAbility机 制,支持JS与Java互通 FeatureAbility.callAbility调用 FeatureAbility.subscribeAbilityEvent订阅 View与ViewModel双向绑定 3 通过FeatureAbility通信接口返回 MonthData 1 生成月视图数据 MonthData,提供给 ViewModel 2 ViewModel层 序列化MonthData
分享到:
收藏