网站安全建设模板下载,软件开发工程师就是程序员吗,net asp网站开发,WordPress链接加前缀功能级一多开发
SysCap机制介绍
HarmonyOS使用SysCap机制#xff08;即SystemCapability#xff09;#xff0c;可以帮助开发者仅关注设备的系统能力#xff0c;而不用考虑成百上千种具体的设备类型。 在过去#xff0c;开发不同设备上的应用就用不同设备的SDK进行开发即SystemCapability可以帮助开发者仅关注设备的系统能力而不用考虑成百上千种具体的设备类型。 在过去开发不同设备上的应用就用不同设备的SDK进行开发这些SDK都是独立存在的。在这种情况下进行多设备的开发的时候就要进行很多的适配。
HarmonyOS给开发者提供了一个统一的HarmonyOS SDK来进行多设备开发。
能力集
**系统能力集**操作系统中每一个相对独立的特性如蓝牙WIFINFC摄像头等都是系统能力之一。
**支持能力集**描述当前设备能够支持哪些功能。
**要求能力集**描述当前应用具有哪些能力。 有了这样的能力集我们通过设备支持能力集和应用要求能力集来控制多设备应用的分发和安装。 如图应用a有蓝牙设备AB都有蓝牙那么就可以将应用a安装到设备AB中
应用b多了一个NFC功能那么它就不能安装到设备A中。
如果一定要让应用b安装到设备A中呢
我们可以使用canIUse接口来实现。
canIUse接口
在编码阶段开发者可以通过canIUse接口判断目标设备是否支持某系统能力进而执行不同的业务逻辑。通常当设备不支持某种能力时运行到这部分代码后给出友好弹窗避免应用crush崩溃。
aboutToAppear() {if(canIUse(SystemCapability.Communication.NFC.Core)) {controller.on(nfcStateChange,(err,nfcState) {this.message nfcState: nfcState})}else {this.message This device does not support NFC.}
}在这段代码中我们使用canIUseNFC这个能力进行判断代码在设备A上进行执行时就会给用户弹出一个友好的弹窗来提示用户该设备不支持NFC功能。在设备B上执行则功能正常运行。
工程级一多开发
三层架构规范
推荐在应用开发过程中使用如下的”三层工程结构“以方便代码复用及提升开发效率。
**common公共能力层**用于存放公共基础能力集合如公共配置等。其只可以被product和features依赖不可以反向依赖。**features基础特性层**用于存放相对独立的UI及逻辑实现等。其可以横向调用及依赖common层但不能反向依赖product层。**product产品定制层**用于针对不同设备形态进行功能和特性集成作为应用主入口product层不可以横向调用。
/applicationcommon //公共能力层features //基础特性层feature1 //子功能feature2 //子功能2feature3...product //产品定制层werable //智能穿戴泛类目录default //默认设备泛类目录...在之前学习过的内容中也提到了三层工程结构。当某一层级需要调用其他层级的模块时需要在module.json文件中dependencies部分中填写对需要模块的依赖方便后续使用。