纯血鸿蒙HarmonyOS NEXT原生开发之旅_杨春鹏_AZW3_MOBI_EPUB_PDF_电子书(无页码)_杨春鹏
内容节选
第5章 一次开发多端部署 HarmonyOS NEXT的“一多”开发,即“一套代码工程,一次开发上架,多端按需部署”,旨在帮助开发者高效地开发出能够适配多种终端设备的应用。这种设计不仅确保了应用在不同设备上的兼容性,还提供了跨设备间的流转、迁移和协同功能,从而能够打造出无缝衔接的分布式用户体验。 本章将从创建“一多”工程开始,介绍“一多”开发的具体流程和方法,并演示如何编写一个通用的标签页,以实现跨设备的一致性体验。 5.1 “一多”开发工程目录管理 本节将介绍如何创建“一多”工程,读者可从中了解其项目结构。 5.1.1 创建工程 “一多”工程的创建和正常项目的创建方式一样,具体可参考第1章的DevEco Studio基本工程目录,如图5-1所示。 图5-1 DevEco Studio基本工程目录 5.1.2 新建Module 接下来开始创建“一多”开发所需要的模块包。目标是新建3个ohpm模块,并分别命名为common、feature1、feature2。 “一多”推荐在应用开发过程中使用如下的“三层工程结构”: ·common(公共能力层):用于存放公共基础能力集合(如工具库、公共配置等)。common层可编译成一个或多个HAR包或HSP包(HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同副本;而HSP中的代码和资源可以独立编译,运行时在一个进程中代码只会存在一份),它只可以被products和features依赖,不可以反向依赖。 ·features(基础特性层):用于存放基础特性集合(如应用中相对独立的各个功能的UI及业务逻辑实现等)。各个feature高内聚、低耦合、可定制,供产品灵活部署。不需要单独部署的feature通常编译为HAR包或HSP包,供products或其他feature使用,但是不能反向依赖products层。需要单独部署的feature通常编译为Feature类型的HAP包,和products下Entry类型的HAP包组合部署。features层可以横向调用及依赖common层。 ·products(产品定制层):用于针对不同设备形态进行功能和特性集成。products层各个子目录各自编译为一个Entry类型的HAP包,作为应用主入口。products层不可以横向调用。 代码工程结构抽象后一般如下所示。 具体的创建步骤如下: 01 在根目录上右击,在弹出的快捷菜单中选择“新建”→“模块”命令,如图5-2所示。 图5-2 新建模块 02 在New Project Module对话框中选择Static Library模块,如图5-3所示。 图5-3 选择Static Library模块 03 重新定义模块名称,这里设置为“Common”,如图5-4所示。 图5-4 重新定义Module name 04 参考01到03,再创建feature1、feature2两个模块,创建完成后的项目结构如图5-5所示。 图5-5 项目结构 5.1.3 修改Module配置 为了完善项目结构,一般在创建完模块后会对整个项目进行相应的修改,具体修改如下。 1. 修改Module名称 修改创建工程时默认的entry模块名称。在该模块上右击,在弹出的快捷菜单上依次选择“重构”→“重命名”命令,将模块名称修改为default,如图5-6所示。 图5-6 重命名模块 注意 重命名的是模块名而不是目录名。 2. 修改Module类型及其设备类型 通过修改每个模块中的配置文件(module.json5)对模块进行配置。module.json5配置文件包含以下标签: 1)name 含 义:标识当前Module的名称,确保该名称在整个应用中唯一。取值为长度不超过31字节的字符串,不支持中文。应用升级时允许修改该名称,但需要应用适配Module相关数据目录的迁移,详见文件管理接口。 数据类型:字符串。 是否可省略:该标签不可省略。 2)type 含 义:标识当前Module的类型。支持的取值如下: ·entry:应用的主模块。 ·feature:应用的动态特性模块。 ·har:静态共享包模块。 ·shared:动态共享包模块。 数据类型:字符串。 是否可省略:该标签不可省略。 3)srcEntry 含 义:标识当前Module所对应的代码路径,取值为长度不超过127字节的字符串。 数据类型:字符串。 是否可省略:该标签可省略,默认值为空。 4)description 含 义:标识当前Module的描述信息,取值为长度不超过255字节的字符串,可以采用字符串资源索引格式。 数据类型:字符串。 是否可省略:该标签可省略,默认值为空。 5)process 含 义:标识当前Module的进程名,取值为长度不超过......
- 信息
- 作者简介
- 内容简介
- 前言
- 第1章 初识鸿蒙HarmonyOS NEXT
- 第2章 Ability开发
- 第3章 UI开发基础
- 第4章 UI开发进阶
- 第5章 一次开发多端部署
- 第6章 多媒体应用开发
- 第7章 进程通信
- 第8章 窗口管理
- 第9章 网络编程
- 第10章 安全管理
- 第11章 服务卡片开发
- 第12章 项目实战:多端部署之购物应用
- 附录A ArkTS语言基础