简述定义和目标,分述界面级(核心)、功能级、工程级的一多开发
定义: 一套代码,一次开发,多端按需部署
目标:支持开发者快速开发多设备上的应用
一 界面级一多开发(重点)
1. 自适应布局 适应性改变,本质是改变比例
1. 拉伸能力 增加或减少的空间全部分配给容器组件指定区域
2. 均分能力 均匀分配给容器组件
3. 占比能力 子容器随父容器变化而变化
4. 缩放能力 宽高比随父容器变化而缩放
5. 延伸能力 组件按序显示或隐藏
6. 隐藏能力 随容器组件尺寸变化显示或隐藏
7. 折行能力 自动换行功能
2. 响应式布局 根据变化(窗口宽度、屏幕方向)来适应外部容器的布局能力,本质是改变组件位置,基于断电、媒体查询和栅格能力实现
1. 断电和媒体查询 断点就是划分范围,监听窗口变化,媒体查询是在监听显示区域变化、横竖屏、色深、设备类型等,总结一句话就是实现监听功能的方法,如下图
2. 栅格布局 根据屏幕尺寸划分为不同数量的栅格,实现屏幕的自适应,如下图
3. 视觉风格
1. 分层参数 UX定义的一套系统资源
2. 自定义资源 自定义不同设备状态的资源
4. 交互归一 通过交互归一提供给开发者的API,无需关注设备类型,只需关注交互归一事件中的逻辑相应
1. 缩放交互
2. 组件归一相应
5. IDE提供多设备预览,在预览器界面点开即可
二 功能级一多开发能力
HarmonyOS使用SysCap机制(即SystemCapability),可以帮助开发者仅关注设备的系统能力,而不用考虑成百上千种具体的设备类型,降低多设备应用开发难度。鸿蒙SDK就是一个更大的公功能超集
三 工程级的一多开发能力,不可反向依赖
1. common(公共能力层)∶存放公共基础能力集合
2. features(基础特性层):存放相对独立的UI及逻辑实现
3. product(产品定制层)∶针对不同设备形态进行功能和特性集成