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

前言

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

下载流程就不用细说了 借鉴一下别人的文章,主要核心在于按照官网学习了一个ToDo的例子

鸿蒙OS应用开发初体验 - 掘金 (juejin.cn)

启动页面

Setup

HarmonyOS-SDK:鸿蒙操作系统软件开发工具包

  • Previewer:预览器
  • Toolchains:工具链

OpenHarmony-SDK:开源鸿蒙操作系统软件开发工具包

  • ArkTS:鸿蒙生态的应用开发语言。
  • JS:JavaScript
  • Previewer:预览器
  • Toolchains:工具链

Create Project

配置工程

项目名称、包名、存储路径、编译SDK版本、模型,语言、设备类型等。

工程目录结构

  • AppScope:存放应用全局所需要的资源文件。
  • entry:应用主模块,存放HarmonyOS应用的代码、资源等。
  • on_modules:工程依赖包,存放工程依赖的源文件。
  • build-profile.json5是工程级配置信息,包括签名、产品配置等。
  • hvigorfile.ts是工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。
  • oh-package.json5是工程级依赖配置文件,用于记录引入包的配置信息

TODO例子

这里我我干掉了初始代码 实现了一个TODO例子 源码贴出来了

js 复制代码
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。有深入学习的大佬指点一下,望花粉勿喷。

相关推荐
HwJack209 分钟前
鸿蒙开发ArkData 全景与选型决策:三种存储到底用哪个
华为·harmonyos
czhm571 小时前
基于 HarmonyOS ArkTS API 24,工具函数抽离业务计算逻辑,状态颜色判断解耦组件代码
harmonyos·arkts
雪芽蓝域zzs1 小时前
第八节:Element Plus 基础、封装通用组件 + 路由守卫
前端·vue.js
码视野1 小时前
基于 Spring Boot + Vue3 的【智慧公厕微负压排风除臭与客流人感空间占用导引中台】设计与实现(含PRD/三端高保真源码/大屏)
前端·vue.js·人工智能·spring boot·后端
计算机魔术师1 小时前
刚赔了15亿又来被告?索尼华纳联手把Anthropic告上法庭
前端
笑霸final1 小时前
不用上传服务器!用 Vue3 + ONNX Runtime Web 在浏览器本地实现智能抠图
运维·前端·图像处理·ai·onnx·canva可画·web性能优化
月月大王的3D日记2 小时前
Three.js 入门系列(9):从零搭一座“闹鬼小屋”
前端·javascript
TingTing2 小时前
Vue3动态组件库建设
前端
lilian2332 小时前
HarmonyOS 7 新特性(九)|碰一碰精准分享与互动卡片
华为·harmonyos
lilian2332 小时前
HarmonyOS 7 新特性(十)|DevEco Code 与 DevEco CLI AI 开发提效
人工智能·华为·harmonyos