鸿蒙-00

26 阅读5分钟

一、开发模式

目前官方提供了两种开发模式:

1.基于ArkTS来进行声明式的ui开发规范
  • 采用ArtTS语言来开发我们项目。
2.类web的开发模式
  • 采用传统前端html+css+js的开发模式
  • 做鸿蒙开发编程就像是学习一个新的框架。

目前官方主推第一种ArkTS的开发模式。这种模式内容会更丰富,开发体验会更好

  • Stage模型:目前推荐大家使用这个模型来开发我们项目提供内容更加丰富。官方核心维护的模型。这个模型里面提供更加丰富的api和kit能力
  • FA(FeatureAbility)模型:目前主要采用js的方式来开发项目。虽然目前还在维护。但是提供的开发内容相对 于stage模型会更少

二、创建项目

安装工具的事项:

  1. 目前最新的beta版本工具,按照步骤一步一步往下运行就安装好了工具。
  2. Node版本目前尽量用18版本,node工具的镜像尽量用华为的镜像

目录结构:

  • AppScope:这个代表整个app配置。一般在最后打包的时候使用
  • entry:这个代表项目中的一个模块。这个模块一般作为程序的主模块/一个程序可以有很多模块
  • oh_modules:这个文件夹相当于以前前端工程后里面node_modules,可以存放自己模块以来,也以来外部的模块
  • entry/main:里面就是开发需要用到所有内容
  • entry/main/ets:一般用于开发源代码。包括页面、组件、路由等等
  • entry/main/resources:这个文件夹里面存放的是项目需要资源文件。类似于前端工程assets文件夹

自己额外可以创建项目文件夹 main/ets

  • apis:这个文件夹用于后续网络请求封装代码
  • utils:这个用于封装项目开发工具
  • 1ibs:用于存放第三方的插件
  • view:这个文件夹里面存放组件
  • pages:存放开发的页面
  • viewmodel:存放数据和约束

三、编写程序

ArkTS最大的特点就是基于TS的开发规则来设计的一种开发语言。 里面涵盖了TS所有的规则。以及包含了ES5\6的语法规则。 开发鸿蒙项目:

  1. 相当于在大前端基础上继续学习一个新的框架和开发模式
  2. 采用声明式的开发规范,在开发中结合ArkUI来进行页面构造布局,并使用封装好属性来进行页面样式渲染和布局优化。

学习过程中你们频繁的用到ArkUI,比如

Text"这是文本组件"Button("").onclick(()=>(})

自定义组件

@component
export struct Header(
    build(){
        Column(){
            Text("Header组件")
        }
        .width"1008")
        .height("1008")
   }
}

四、项目的运行

项目的运行有三种方式:

  1. 预览器的模式:这个方案目前最方便最简单的方式。开发工具默认提供了预览器,写完直接就热更新前期开发可以采用预览器来实现,到了后面要增加更多功能到项目中,我们需要采用模拟器或者真机来调试,预览器有些api无法进行调试。
  2. 模拟器的方式来开发:模拟器是开发项目必须用到设备。目前这个beta中,模拟器需要申请。目前官方只提供手机端的模拟器。后续会提供更多的平台。 后期模拟器可以提供很多种组合设备,比如手机+平板、手机+tV、手机+手表等等

image.png 3. 提供真机调试:目前开发的版本HarmonyOSNext版本,所以要求华为设备,并搭载了最新鸿蒙next系统。普通鸿蒙4.0或者4.2无法支持我们应用运行。要求真机必须开启usb调试模式,在用手机和电脑链接(有线、无线》在开发工具中识别手机。其中还会涉及到签名信息等等。 代码才可以放在真机上面运行。

五、ArkTS介绍

  • JS:属于前端浏览器端语言,若类型语言,灵活,功能强大
  • TS:TS是微软设计出来的一门编程语言,是JS这门语言超集。涵盖了JS核心的es5、es6的内容。增加静态检查,类型推断等等,可以让开发过程中更加严谨。减少错误

ArkTS:鸿蒙官方主推的开发语言,高级编程语言。在TS基础上进行了扩展。推出了全新声明式的开发规范。相当于基于TS开发规则,又进行封装。将核心的内容封装起来采用声明式开发模式。ArkTS编程规范会比TS更加严格。完全按照强类型语言的规则来要求。我们创建的文件后缀ets结尾的文件。这个文件是一个ArkTS文件。包含:

  1. 装饰器:ArkTS将装饰器进行了封装,提供了各种装饰器来强化我们的组件。有类的装饰器、属性装饰器、方法装饰器。实现不同的业务功能。
  2. struct来定义一个组件,这个组件内部开发模式严格采用面向对象的开发规则。类、属性、行为等等这些概念,this的使用也是必须的。
  3. 可以在ArkTS中自定义组件,也可以使用官方提供系统组件(ArkUI)提供的。
  4. 还可以给组件绑定事件,还提供完整的事件机制。

六、国际化配置

image.png

在resource/base/element/string.json

base下配置是基础配置,必须有,默认在base下配置成功,才会匹配中英文中对应的字段

{
    "string": [
      {
        "name": "title",
        "value": "title"
      }
    ]
}

在resource/zh_US/string.json

{
    "string": [
      {
        "name": "title",
        "value": "title"
      }
    ]
}

在resource/zh_cn/string.json

{
    "string": [
      {
        "name": "title",
        "value": "标题"
      }
    ]
}
Text($r("app.string.value"))

resource/media 文件夹下一般存放图片资源

resource/profile/main_pages 存放路由配置