初识HarmonyOS

每次开始一个新的技术学习的时候,总会有一个声音在我心中回荡。这个技术,我该不该学,这个技术学了有什么作用呢?这个技术学习了会带给我什么?还有最重要的一点,这个技术学到哪里呢?

所以,每次学习新的技术的时候,总会踌躇满志,踏步不前。但是,既然作为IT的一员,IT技术是时时刻刻都在进行变化,如果,你现在不学习,后面自己可能就要被淘汰,小编很多伙伴也是如此,从去年的裁员,一直到现在都没有找到工作,每天都在找工作,然而,每次结果都很不好。除去大环境的情况,还有就是AI的兴起,唉,只能说,IT行业现在不卷的人也得被迫进入卷的状况了。

感觉废话说的挺多的,接下来,咱们进入今天的主题——HarmonyOS。

在学习HarmonyOS之前,我想问大家一个问题,有人觉得javascript是一门简单的语言吗?有人觉得javascript这门语言没有前途吗?

接下来,让你们看看js超集的超集是什么玩意?所以,每一个技术语言出来的时候,肯定有它存在的意义。

让我们高呼,“js超进化” ——》arkTs。

学前准备(不推荐看,因为,短)

俗话说,“工欲善其事,必先利其器。” 学习一门新的技术,必须要有循序渐进的过程。

不开心了,不想说了,直接安排传送门:

HarmonyOS学前准备

主要按顺序看看 注册成为开发者配置安装DevEco Studio创建应用

后续的讲解,都是按照已经创建好应用而言的进行描述。

项目目录

注意: 下面的内容都是已经把学前准备整好的情况下。你才能进行学习哦!用的语言是js超进化的语言arkTs进行开发

哈哈,是不是被第一个标题给骗了?我看看有多少人被骗的。评论区说一下啊

上面给咱们一个提醒哦!所以我们在学习的时候,不要觉得短或者简单就不看了,或许,越简单,里面包含的东西越多。

先上图:
HarmonyOS项目目录
上面图片就是创建一个简单的项目目录。(忽略feature目录)

接下来,咱们看一下每层分开之后的目录,以及对应的文件都代表什么意思?

.hvigor .idea

这两个文件不需要管,初始创建项目,可能不存在,没有也不必担心。咱们看一下这两个文件夹主要包括什么呢?
文件夹目录
随便打开一个文件,咱们可以发现,.hvigor文件夹其实是我们编译对应的文件所要输出的一些文件路径。所以,当咱们后面开发的时候,使用编译器进行预览的时候,就会出现对应的文件。而.idea文件夹包括的都是编译器的配置文件,所以如果后面多人进行开发的时候,这个文件一定不要放入git里面,不然,这个文件每到一个人的电脑上,就要走别人电脑的配置,会频繁更改该文件。没必要。

AppStore

根据目录名称,咱们可以知道这个是应用商店对于该项目配置资料文件夹。
AppStore图片
既然是应对应用商店使用的。那么应用商店主要看那些东西呢?

细心的同学可以发现,有一个app.json5 文件,这个文件不同于其他文件,因为咱们经常遇到的文件后缀有json,js,ts,java,txt等,但是这个json5为后缀的,是不是没怎么见过?

小编之前也没有见过,不过既然包含json,那它肯定符合json的一些特性,但又肯定和json的特性有些不一样。

话不多说,咱们直接看一下app.json5这个文件里面都有啥,表示的是什么意思

{
  //  版本号,应用名称(应用管理界面展示),应用icon,版本号等
  "app": {
    //    这里是应用名称,主要是配置应用的一系列的东西,设置应用中使用的到, 必须以字母开头,最小7,最大127, 单独命名不可取
    "bundleName": "com.example.xiaozhang",
    //    区别是app应用还是元服务(华为手机,我的卡片展示),可不设,默认值是app
    "bundleType": "app",
    //    对应用开发商的标识,可不设
    "vendor": "暂无",
    //    表示版本号,最大不能超过2的31次方
    "versionCode": 1000000,
    //    展示给客户看的版本号
    "versionName": "1.0.0",
    //    应用设置看到的icon
    "icon": "$media:shoucang",
    // $media 指向AppScope/resources/base/media
    //    应用设置看到的名称
    "label":"$string:app_name"
  }
}

上面就是app.json5 文件最基本的配置了。细心的同学可能发现了一些不一致的地方,这中类型的文件,可以做备注。

json类型的文件只能是以下的表示样式,不然就会提示语法错误。

{
"a": "b",
// 这种备注肯定会爆红,因为在json格式的文件中,是不能进行注释的。
}

还有一点,就是,$media和$string 这两个他们取值是取得哪里的。就是咱们AppStore 目录下面的base下面的element和media,这两个就是这样,所以,前期也别想多增加其他的东西,如果后面用的东西比较多,可以在去深究这一块的内容。

除去上面app.json5文件中的部分内容,它还可以增加以下的属性:

description: 描述信息, 最长255字节的字符串。可省略
debug:
下面还有一些,这里就不一一列出来了,上面基本就够了。

接下来,咱们就要进入主入口了。

entry (一般一个项目只会有一个这个目录)

项目主入口。

先看目录图片:
项目主文件入口目录

看完上面这个图片,有何感想?

小编第一次看的时候,第一感觉就是,这是什么啊,怎么感觉有些东西在AppStore里面见过啊。

哎,你的感觉没有错。接下来,跟着小编所说的,咱们往下看一看那些是主要的,那些是没有用的。

entry下面只有src目录和一些json5结尾的文件。咱们先看对应的单个文件都有什么内容

build-profile.json5

{
  //  模块级别的配置编译设置
  "apiType": 'stageMode',
  "buildOption": {
  },
  // 表示运行在那些环境上
  "targets": [
  // 第一个选项就是默认,HarmonyOS环境运行
    {
      "name": "default",
      "runtimeOS": "HarmonyOS"
    },
    // 测试环境
    {
      "name": "ohosTest",
    }
  ]
}

oh-package.json5

// 这里表示主入口,也就是说,这个文件就是告诉编译器,我这个项目的入口在这个包下面。其他的和前端package.json类似,
{
  "name": "entry",
  "version": "1.0.0",
  "description": "Please describe the basic information.",
  "main": "",
  "author": "",
  "license": "",
  "dependencies": {}
}

由于这里面main的值是空,那么,思考一下,它是怎么知道这个文件夹就是主入口的呢?

hvigorfile.ts

// Script for compiling build behavior. It is built in the build plug-in and cannot be modified currently.
// 用于编译构建行为的脚本。它内置在构建插件中,目前无法修改。
export { hapTasks } from '@ohos/hvigor-ohos-plugin';

很明显,这个文件就是给编译器看需要那些插件啥的,方便打包的时候,打到项目中。

咱们看完单个文件之后,再看看src下面有什么呢?

src

main

咱们先看一下main目录下面都有什么:
main目录文件图片
很明显,main文件夹下面有两个文件夹和一个文件。

ets文件夹是咱们开发源码放置位置

ets下面还分了两个文件夹,这两个文件夹的作用都有啥呢?

entryability这个是一HarmonyOS提供的ui入口文件,这个文件里面可以写对应的ui声明周期方法。

pages 是咱们具体的页面,这里面咱们就要使用到‘js的超进化’ArkTs进行开发了。

那对于项目而言,它是怎么加载的呢?

首先,项目会去加载entry下面的main文件夹下面的EnterAbility.ts文件,然后,该文件会根据你在声明周期上面所写的文件路由,去pages找对应的文件。然后渲染到我们的客户端。

resources 文件夹,是这个主入口模块所需要的一些资源文件。这里的resources是不是觉得比AppStore多一些,是的,多了一个profile文件夹,这个文件夹,主要的作用就是定义这个木块所用到的配置,例如:对应的路由文件等。

ohosTest

这个目录是记载的测试文件,对于测试文件,咱们暂时先不说,先了解上面的主文件即可。

总结

上面也只是简单说了一些HarmonyOS的项目目录,可能有些说的不是很清楚,没关系,咱们后面会逐一说明白它的用途的。

这里如果等不及的同学,可以先去看看鸿蒙的开发文档,可以自己先去了解一下。如果后面小编有说的不对的地方,可以在相应的博文下面进行评论。

鸿蒙开发文档

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值