HarmonyOS工程【鸿蒙开发02】

简介: HarmonyOS APP工程结构在进行HarmonyOS应用/服务开发前,应该掌握HarmonyOS应用/服务的逻辑结构HarmonyOS应用/服务发布形态为APP Pack(Application Package,简称APP),它是由一个或多个HAP(HarmonyOS Ability Package)包以及描述APP Pack属性的pack.info文件组成。

HarmonyOS APP工程结构

在进行HarmonyOS应用/服务开发前,应该掌握HarmonyOS应用/服务的逻辑结构

HarmonyOS应用/服务发布形态为APP Pack(Application Package,简称APP),它是由一个或多个HAP(HarmonyOS Ability Package)包以及描述APP Pack属性的pack.info文件组成。

一个HAP在工程目录中对应一个Module,它是由代码、资源、第三方库及应用/服务配置文件组成,可以分为Entry和Feature两种类型。

  • **Entry:**应用/服务的主模块,可独立安装运行。一个APP中,对于同一类型的设备,可以包含一个或多个entry类型的HAP,如果同一设备类型包含多个entry模块,需要配置distroFilter分发规则
  • **Feature:**应用/服务的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。

HAP是Ability的部署包,HarmonyOS应用/服务代码围绕Ability组件展开,它是由一个或多个Ability组成。Ability分为两种类型:FA(Feature Ability,中文名称:元程序)和PA(Particle Ability,中文名称:元服务)。FA/PA是应用/服务的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面。

网络异常,图片无法展示
|

工程目录结构

DevEco Studio工程目录结构提供工程视图和HarmonyOS视图。工程创建或打开,默认显示工程视图,如果要切换到HarmonyOS视图,在左上角点击Project > Ohos进行切换**。**

上一节我们用的js跑的demo,我们就先来看看JS工程目录结构

JS工程目录结构

JS工程目录结构如下图所示。

网络异常,图片无法展示
|

  • java目录:仅Phone、Tablet、TV和Wearable设备的JS工程才存在,作为HarmonyOS应用/服务的启动入口。
  • common目录:用于存放公共资源文件,如媒体资源、自定义组件和JS文档等。
  • i18n目录用于存放多语言的json文件,
  • pages目录:pages文件夹下可以包含1个或多个页面,每个页面都需要创建一个文件夹(如图中的index)。页面文件夹下主要包含3种文件类型:css、js和hml文件。
  • pages>index>index.hml文件hml文件定义了页面的布局结构,使用到的组件,以及这些组件的层级关系,如果你会html,那么这个不成问题。
  • pages>index>index.css文件css文件定义了页面的样式与布局,包含样式选择器和各种样式属性等,如果你会css,那么这个不成问题。
  • pages>index>index.js文件js文件描述了页面的行为逻辑,此文件里定义了页面里所用到的所有的逻辑关系,比如数据、事件等,如果你会js,那么这个不成问题。
  • 对于上面提到的这些,如果你不会的话,可以关注我的公众号“大前端之旅”,来一起学习。
  • resources用于存放资源配置文件,比如:全局样式、多分辨率加载等配置文件。
  • app.js文件全局的JavaScript逻辑文件和应用/服务的生命周期管理。

对于HarmonyOS工程中的目录结构就了解到这儿

由于DevEco Studio支持包括手机、平板、车机、智慧屏、智能穿戴、轻量级智能穿戴和智慧视觉设备的HarmonyOS应用/服务开发,预置了丰富的工程模板,可以根据工程向导轻松创建适应于各类设备的工程,并自动生成对应的代码和资源模板。同时,DevEco Studio还提供了多种编程语言供开发者进行HarmonyOS应用/服务开发,包括Java、JS、eTS和C/C++编程语言。

下面是工程模板和对应开发语言的对应关系

网络异常,图片无法展示
|


网络异常,图片无法展示
|

网络异常,图片无法展示
|

到此华为鸿蒙目录结构和工程模板和对应开发语言的对应关系就讲完了

最后总结:

作为一枚Flutter开发程序员,第一点,第一次上手这个IDE和语言环境还是比较顺利的 基本能看懂 具体的还要看官网文档和api使用情况,没有具体去深入写, 个人看法学起来应该不难,第二点,如果有空了解和学习鸿蒙OS开发 没有坏处 ,不要等到书到用书方恨少 那就不好了 ,有兴趣的同学可以根据教程安装开发环境学习和了解 ,最后希望我的文章能帮助到各位解决问题 。


相关文章
|
2月前
|
编解码 视频直播 开发工具
|
6天前
|
人工智能 搜索推荐 数据可视化
鸿蒙应用实践:利用扣子API开发起床文案生成器
本文将使用扣子(coze)智能体API开发一个起床文案生成器,用于自己的鸿蒙应用中生成”千人千面“的起床文案。
17 0
|
2月前
|
JavaScript API
鸿蒙开发接口UI界面:【@ohos.mediaquery (媒体查询)】
鸿蒙开发接口UI界面:【@ohos.mediaquery (媒体查询)】
35 1
|
2月前
|
安全 调度
鸿蒙HarmonyOS实战-Stage模型(线程模型)
本文介绍了线程作为操作系统调度的最小单位,是进程中的执行流,具有轻量级、并发执行、共享资源、通信简单和上下文切换等特点。线程分为用户线程和内核线程,其中内核线程由操作系统管理,而用户线程由应用程序控制。线程用于提高程序性能和响应速度,尤其适合多任务并发处理。在HarmonyOS中,每个应用有主线程负责UI和 ArkTS 引擎管理,以及Worker线程执行耗时任务。线程间通信可通过Emitter实现事件同步和Worker进行异步操作。
|
2月前
|
Java 开发工具 Android开发
鸿蒙HarmonyOS 与 Android 的NDK有什么区别?
鸿蒙(HarmonyOS)和Android的NDK(Native Development Kit)是两个不同的概念,它们在设计理念、架构、开发方式和目标平台等方面存在着一些显著的不同。
84 0
|
2月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Scroll容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Scroll容器组件
334 0
|
11月前
|
IDE JavaScript API
HarmonyOS开发第一步,熟知开发工具DevEco Studio
本文主要以常见的功能点作为概述希望可以帮助到学习HarmonyOS的开发者。
309 0
|
11月前
|
开发框架 开发者 JavaScript
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 三)
子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。
|
11月前
|
开发框架
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 四)
被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被@Observed装饰的项,或者是class object中是属性,这个属性同样也需要被@Observed装饰。单独使用@Observed是没有任何作用的,需要搭配@ObjectLink或者@Prop使用。
|
11月前
|
人工智能 JSON API
HarmonyOS学习路之开发篇—AI功能开发(语音识别)
语音识别功能提供面向移动终端的语音识别能力。它基于华为智慧引擎(HUAWEI HiAI Engine)中的语音识别引擎,向开发者提供人工智能应用层API。该技术可以将语音文件、实时语音数据流转换为汉字序列,准确率达到90%以上(本地识别95%)。