一次开发,多端部署


前言

随着终端设备形态日益多样化,分布式技术逐渐打破单一硬件边界,可以在不同的硬件设备之间随意调用、互助共享,让用户享受无缝的全场景体验。而作为应用开发者,广泛的设备类型也能为应用带来广大的潜在用户群体。但如果一个应用需要在多个设备上提供同样的内容,则需要适配不同的屏幕尺寸和硬件,开发成本较高。HarmonyOS系统面向多终端提供了“一次开发,多端部署”(简称为“一多”)能力,让开发者可以基于一种设计,高效构建多端可运行的应用。

一、一多开发是什么?

简单来说,就是 一套代码 多端部署 可以在不同的设备上 例如手机 手表 平板 2in1等 呈现效果

二、一多开发解决的三个问题

1. 界面级一多

页面级一多 又分为两类 :

  1. 自适应布局:略微调整界面结构,自适应布局又有七种能力
    在这里插入图片描述2. 响应式布局 比较大的调整 适应不同的设备 响应式布局能力又分为三种 断点 媒体查询 栅格布局Grid
响应式布局能力简介
断点将窗口宽度划分为不同的范围(即断点)监听窗口尺寸变化,当断点改变时同步调整页面布局
媒体查询媒体查询支持监听窗口宽度、横竖屏、深浅色、设备类型等多种媒体特征,当媒体特征发生改变时同步调整页面布局。
栅格布局栅格组件将其所在的区域划分为有规律的多列,通过调整不同断点下的栅格组件的参数以及其子组件占据的列数等,实现不同的布局效果。

应用场景
在这里插入图片描述

2. 功能级一多

功能开发的适配主要体现在需要适配不同范类的应用,比如既要适配手机和平板,也需要适配智能穿戴设备,如果是同泛类产品,系统能力一致,无需考虑多设备上应用功能开发的差异,我们的美寇商城需要适配的是手机和Pad,属于同泛类产品,无需考虑功能开发的差异。

以下是常见类型分类:
● 默认设备(一般为手机)、平板
● 车机、智慧屏
● 智能穿戴

2.1 系统能力

系统能力(即SystemCapability,缩写为SysCap)指操作系统中每一个相对独立的特性,如蓝牙,WIFI,NFC,摄像头等,都是系统能力之一。每个系统能力对应多个API,随着目标设备是否支持该系统能力共同存在或消失。

2.2. 如何适配系统能力

方法1:使用canUse接口判断设备是否支持某系统能力

if (canIUse("SystemCapability.Communication.NFC.Core")) {
   console.log("该设备支持SystemCapability.Communication.NFC.Core")
} else {
   console.log("该设备不支持SystemCapability.Communication.NFC.Core")
}

方法2:通过import动态导入,配合try/catch

import controller from '@ohos.nfc.controller'
try {
    controller.enableNfc()
    console.log("controller enableNfc success")
} catch (busiError) {
    console.log("controller enableNfc busiError: " + busiError)
}

3. 工程级一多

就是采用华为官方推荐的三层架构
commons 公共能力层 存放工具库 公共配置等
features 基础特性层 存放本项目的一些UI及业务逻辑 方便以后代码复用
products 产品定制层 作为应用入口 集成不同设备的功能特性
在这里插入图片描述

就是把项目拆分成不同类型的模块 在通过模块之间的引用组合 最终实现应用功能

总结

本文介绍了“一次开发,多端部署”的定义、目标等,同时从UX设计、工程管理、页面开发、功能开发等角度,端到端的给出了指导,帮助开发者快速开发出适配多种类型设备的应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值