网站 界面改版,中国临海门户网站工程建设,学跨境电商要多少钱,电气建设网站功能级一多开发与工程级一多开发 引言功能级一多开发SysCaps机制介绍能力集canlUse接口 工程级一多开发三层架构规范 引言
一次开发多端部署 定义#xff1a;一套代码工程#xff0c;一次开发上架#xff0c;多端按需部署 目标#xff1a;支撑开发者快速高效的开发多终端设… 功能级一多开发与工程级一多开发 引言功能级一多开发SysCaps机制介绍能力集canlUse接口 工程级一多开发三层架构规范 引言
一次开发多端部署 定义一套代码工程一次开发上架多端按需部署 目标支撑开发者快速高效的开发多终端设备上的应用 为了实现一多开发的定义与目标我们需要解决三个问题
页面如何适配不同设备间的屏幕尺寸色彩风格等存在差异。功能如何兼容不同设备的系统能力有差异如智能穿戴设备是否具有定位能力、智慧屏是否具有摄像头等。工程如何组织如何实现同一套代码同时能部署到多种不同的设备上。
这篇文章介绍的是功能级一多开发和工程级一多开发界面级一多开发请锁定 HarmonyOS一次开发多端部署三巨头之界面级一多开发
功能级一多开发
SysCaps机制介绍
HarmonyOS使用SysCap机制即SystemCapability可以帮助开发者仅关注设备的系统能力而不用考虑成百上千具体的设备类型降低应用的开发难度。 能力集
系统能力集操作系统中每一个相对独立的特性如蓝牙WIFINFC摄像头等都是系统能力之一。支持能力集描述当前设备能够支持的那些功能。要求能力集描述当前应用具备哪些能力 通过设备支持能力集和应用要求能力集控制多设备应用的分发和安装 canlUse接口
在编码阶段开发者可以通过canlUse接口判断目标设备是否支持某种系统能力进而执行不同的业务逻辑。通常当设备不支持某种能力时运行到这部分代码后给出友好弹窗避免应用crash崩溃 aboutToApper() {if(canIUse(SystemCapability.Communication.NFC.Core)) {controller.on(nfcStateChange, (err, nfcState)) {this.message nfcState nfcState})} else {this.message This device does not support NFC.}
}工程级一多开发
三层架构规范
推荐在应用开发过程中使用如下的“三层工程结构”以方便代码复用及提升开发效率
commons公共能力层用于存放公共基础能力集合如公共配置等。commons层可编译成一个或多个HAR包或HSP包其只可以被product和features依赖不可以反向依赖features基础特性层用于存放相对独立的UI及逻辑实现等。各个feature高内聚、低耦合、可定制供产品灵活部署。不需要单独部署的feature通常编译为HAR包或HSP包供products或其它feature使用。需要单独部署的feature通常编译为Feature类型的HAP包和products下Entry类型的HAP包进行组合部署。其可以横向调用及依赖common层但不能反向依赖prduct层。product产品定制层用于针对不同设备形态进行功能和特性集成作为应用主入口。。products层各个子目录各自编译为一个Entry类型的HAP包作为应用主入口。product层不可以横向调用。
录各自编译为一个Entry类型的HAP包作为应用主入口。product层不可以横向调用。