前言

最近刷头条,刷到很多开端鸿蒙体系app开发者说 鸿蒙体系要崛起了 属于国家毅力。于是我也在周五闲暇时刻去华为官网学习一下,体会一下遥遥领先的感觉。 developer.huawei.com/ 官网下载下载DevEco Studio

下载流程就不用细说了 借鉴一下别人的文章,首要中心在于按照官网学习了一个ToDo的比如

鸿蒙OS使用开发初体会 – (juejin.cn)

启动页面

华为鸿蒙app开发,真的遥遥领先?

Setup

华为鸿蒙app开发,真的遥遥领先?

华为鸿蒙app开发,真的遥遥领先?

HarmonyOS-SDK:鸿蒙操作体系软件开发东西包

  • Previewer:预览器
  • Toolchains:东西链

OpenHarmony-SDK:开源鸿蒙操作体系软件开发东西包

  • ArkTS:鸿蒙生态的使用开发言语。
  • JS:JavaScript
  • Previewer:预览器
  • Toolchains:东西链

华为鸿蒙app开发,真的遥遥领先?

Create Project

华为鸿蒙app开发,真的遥遥领先?
华为鸿蒙app开发,真的遥遥领先?

装备工程

华为鸿蒙app开发,真的遥遥领先?
项目名称、包名、存储路径、编译SDK版本、模型,言语、设备类型等。

工程目录结构

华为鸿蒙app开发,真的遥遥领先?

  • AppScope:寄存使用全局所需要的资源文件。
  • entry:使用主模块,寄存HarmonyOS使用的代码、资源等。
  • on_modules:工程依靠包,寄存工程依靠的源文件。
  • build-profile.json5是工程级装备信息,包含签名、产品装备等。
  • hvigorfile.ts是工程级编译构建任务脚本,hvigor是基于任务办理机制完成的一款全新的自动化构建东西,首要提供任务注册编列,工程模型办理、装备办理等中心才能。
  • oh-package.json5是工程级依靠装备文件,用于记录引进包的装备信息

TODO比如

这里我我干掉了初始代码 完成了一个TODO比如 源码贴出来了

华为鸿蒙app开发,真的遥遥领先?


import ArrayList from '@ohos.util.ArrayList'
@Entry
@Component
struct Index {
  @State message: string = 'Hello World'
  private  taskList:Array<String>=[
    '吃饭',
    '睡觉',
    '遛娃',
    '学习'
  ]
  build() {
    Column() {
      Text('待办')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
        .align(Alignment.Start)
      ForEach(this.taskList,(item)=>{
        ToDoItem({ content: item })
      })
    }.height('100%')
    .width('100%')
    .backgroundColor('#e6e6e6')
  }
}
@Component
struct ToDoItem {
  private content: string;
  @State isComplete: boolean = false;
  @State isClicked: boolean = false;
  build() {
    Row() {
      Image($r('app.media.app_icon'))
        .width(20)
        .margin(10)
      Text(this.content)
        .fontSize(20)
        .fontWeight(FontWeight.Bold)
        .fontColor(Color.Black)
        .opacity(this.isComplete ? 0.4 : 1)
        .decoration({ type: this.isComplete ? TextDecorationType.Underline : TextDecorationType.None })
    }.borderRadius(24)
    .width('100%')
    .padding(20)
    .backgroundColor(this.isClicked ? Color.Gray : Color.White)
    .margin(10)
    .onClick(
      ()=>{
        this.isClicked = true; // 设置点击状况为true
        setTimeout(() => {
          this.isClicked = false; // 0.5秒后恢复点击状况为false
        }, 500);
        this.isComplete=!this.isComplete
      }
    )
  }
}

总结

在模拟器上 点击啥的作用还好 但是在我华为p40上的真机运行作用真的点击作用呼应太慢了吧。自己也是华为手机的爱好者,但这一次真的不敢苟同谁敢用这样的渠道开发app。有深化学习的大佬点拨一下,望花粉勿喷。