HarmonyOS应用开发-多模块开发

饭宝  论坛元老 | 2024-9-28 19:05:05 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1037|帖子 1037|积分 3111

HarmonyOS应用开发是目前是最火、最有前景的方向,如今入门鸿蒙开发还来得及。
鸿蒙开发官网:developer.huawei.com/consumer/cn
多模块划分与创建

什么是多模块呢??
通常我们的app分发会有多个场景,如手机(phone)、手表(watch)、平板(ipad)、电脑(computer)等等,我们希望的是可复用的代码直接使用,而不是写多次,既不统一,也不方便维护和开发,在不同的场景下面可以进行不同的处理,但是会有一些公有的逻辑可以抽离为公共模块,鸿蒙开发此次提供了多模块的开发模块,使得我们在开发应用的时间,可以选择性的使用多个模块的组合,打包为一个app。
多模块的创建

在工程下面直接右键就可以新建module。

选择module后,会弹出一个弹窗选择新建哪种module。截图如下:

我们通常会使用到两种module,


  • 对于主入口,我们需要选择的是Empty Ability ,这里是我们的主入口,每个应用在正常环境下只需要一个ability即可,作用就是我们的app运行时的入口,对应的就是上面的某种场景,如手机(phone)、手表(watch)、平板(ipad)、电脑(computer)等等。
  • 其他环境下我我们需要选择的是Shared Ability ,这里会创建我们各种共用的模块,也就是此文中所要说明的多模块,如工具库(utils)、网络层(network)、服务层(service)、公共组件(uiComponent)等等。这些属于比力底子的,所有的app都会用到的底子能力,当然最好是再创建一个model层,存储一些范例文件、常量设置、枚举等等。如许用起来可能会更加惬意哦~
实战案例,多模块划分

上面我们相识完什么事多模块和模块的创建后,我们来看下实战的demo,项目截图如下:



  • commons:我们把底子的,所有模块都会用到的放到了commons下面,这里面包括了数据存储、范例声明、网络哀求、公共组件、工具库等。
  • features:我们把一些功能性同等的页面(单个页面和多个页面)的模块放到了features下面,这里面也属于公用的模块,但是这不是基建,而是业务逻辑。
  • products:我们把ability的两个场景放到了products下面,ipad和phone都属于入口ability,里面依靠不同的多个feature,通过组合的方式产出了两个app,一个是手机端phone,一个是平板端ipad。
使用多模块

上面说完了多模块的创建和划分,下面我们看下如何使用多模块。
引用

做过前端的,就会看着比力简单了,由于每个模块下面都有一个package.json5的文件,这里面设置了对应的dependence.
  1. {
  2.   "license": "",
  3.   "devDependencies": {},
  4.   "author": "",
  5.   "name": "phone",
  6.   "description": "Please describe the basic information.",
  7.   "main": "",
  8.   "version": "1.0.0",
  9.   "dependencies": {
  10.     "@ohos/activity": "file:../../features/activity",
  11.     "@ohos/utils": "file:../../commons/utils",
  12.     "@ohos/discover": "file:../../features/discover",
  13.     "@ohos/mine": "file:../../features/mine",
  14.     "@ohos/datastore": "file:../../commons/datastore",
  15.     "@ohos/uicomponents": "file:../../commons/uicomponents"
  16.   }
  17. }
复制代码
使用的时间,可以直接import即可。
  1. import { formatShowDate } from '@ohos/utils';
复制代码
路由跳转

由于使用到了多模块,就不是简单的路由跳转了,简单的路由跳转如下:
  1. router.pushUrl({ url: 'pages/SafePage' });
复制代码
多模块的路由跳转:
  1. // com.draven.demo
  2. const bundleName = getBoundName();
  3. // topic为ThemeSettingPage所在页面的module
  4. const page = '/topic/ets/pages/ThemeSettingPage';
  5. router.pushUrl({ url: `@bundle:${bundleName}${page}` });
复制代码
编译构建

点击工具栏,run => Edit configurations,出现弹窗如下:

记得勾选上 Deploy Multi Hap Packges ,然后在module下拉框内选中phone运行时对应的依靠就可以啦。
怎样学习鸿蒙?

起首必学的是开发语言 ArkTS,这是重中之重,然后就是ArkUI声明式UI开发、Stage模子、网络/数据库管理、分布式应用开发、历程间通信与线程间通信技术、OpenHarmony多媒体技术……。中间另有很多的知识点,都整理成思维导图来分享给大家~

别的,小编精心准备了一份联合鸿蒙官方发布条记整理收纳的《鸿蒙开发学习条记》,内容包含ArkTS、ArkUI、Web开发、应用模子、资源分类…等知识点。
【有需要的小伙伴,可以扫描下方二维码免费领取!!!】
快速入门



  • 开发准备
  • 构建第一个ArkTS应用(Stage模子)
  • 构建第一个ArkTS应用(FA模子)
  • 构建第一个JS应用(FA模子)

开发底子知识



  • 应用步伐包底子知识
  • 应用设置文件(Stage模子)
  • 应用设置文件概述(FA模子)

资源分类与访问



  • 资源分类与访问
  • 创建资源目录和资源文件
  • 资源访问

学习ArkTs语言



  • 初识ArkTS语言
  • 基本语法
  • 状态管理
  • 其他状态管理
  • 渲染控制

基于ArkTS声明式开发范式



  • UI开发(ArkTS声明式开发范式)概述
  • 开发结构
  • 添加组件
  • 显示图片
  • 使用动画
  • 支持交互变乱
  • 性能提升的推荐方法

兼容JS的类Web开发范式



  • 概述
  • 框架说明
  • 构建用户界面
  • 常见组件开发指导
  • 动效开发指导
  • 自定义组件

Web组件



  • 概述
  • 设置基本属性和变乱
  • 并发
  • 窗口管理
  • WebGL
  • 媒体
  • 安全
  • 网络与连接
  • 电话服务
  • 数据管理


应用模子



  • 概述
  • Stage模子开发指导
  • FA模子开发指导

2024完整鸿蒙学习资料领取方式:扫描下方二维码即可


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表