OpenHarmony应用开发入门OpenHarmony应用开发的入门指南,介绍了基础语法和调试方法。帮助你对OpenH
一、简介
OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目。它是由华为将一部分HarmonyOS源代码贡献给开源社区后形成的项目,不属于华为,由开放原子开源基金会负责维护和管理。HarmonyOS是基于OpenHarmony的商用发行版,是华为自主研发的操作系统。
在OpenHarmony应用开发中,采用Stage的应用模型,用来进行生命周期和状态管理,管理应用的启动、运行到暂停和结束等各个阶段。 它的功能单元叫做Abilty,它负责处理应用的业务逻辑和用户界面,跟前端开发中的组件比较像,但比前端组件的功能更强大一些。 打包时是以Abilty为单位进行打包的,打包后的产物是HAP(Harmony Ability Package),是部署和分发应用的基本单元,可以理解为每一个HAP就是一个小的应用包,在不同设备上进行安装时可以组合不同HAP,实现一次开发,多端部署。 OpneHarmony官方推荐的开发语言是ArkTS,它是TypeScript语言的扩展。
二、开发入门
1、工具安装
OpenHarmony提供了自己的开发工具链,应用开发需要安装其官方的IDE,DevEco Studio。 安装DevEco Studio 环境配置
2、创建项目
创建项目及目录结构介绍:直接看官网吧~
3、用户界面开发
基本语法
以@
开头的都是装饰器,用于装饰类、结构、方法以及变量,并赋予其特殊的含义。
Row、Column、Text、Divider是ArkUI提供的系统组件,可以直接调用。
width、height、fontSize等是属性方法,可以链式调用。
事件:以链式调用的方法给控件添加事件。
// entry > src > main > ets > pages > Index.ets
//@Entry表示该自定义组件为入口组件,和@Component的区别可以理解为前端开发中的页面和组件的区别
@Entry
@Component // 表示自定义组件
struct Index {//struct用于声明组件及其状态和方法,类似于传统编程中的类,但更轻量和直接。
// @State表示组件的状态变量 状态变量变化会触发UI刷新
@State message: string = 'LiHua'
myClickHandler(): void { this.message = 'hi'; }
// 声明式UI编程范式
// build 用来构建组件的的UI结构和布局
build() {
// ArkUi系统组件,Row、Column属于容器组件
Row() {
Column() {
Text(`Hello ${this.message}!`)
// 属性方法,链式调用
.fontSize(50)
.fontWeight(FontWeight.Bold)
Divider()
Button('点击')
// 事件:里面是箭头函数,
.onClick(() => {
// 修改状态变量的值会触发UI刷新
this.message = "Hi"
})
// 或也可以在当前组件定义一个函数,这里调用
//.onClick(this.myClickHandler.bind(this))
.height(50)
.width(100)
.margin({ top: 20 })
}
.width('100%')
}
.height('100%')
}
}
调试 在编辑窗口右上角的侧边工具栏,点击Previewer可以预览效果。
点击上面的TT可以看到它的结构。可以在这里直接修改它的属性,会自动生成代码。
可以在这里添加需要的设备在设备上进行模拟。
三、小结
本文主要介绍了OpenHarmony应用开发的基本语法。
转载自:https://juejin.cn/post/7377963940897636378