ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。
ArkTS在TS的基础上主要扩展了如下能力:
- 基本语法:ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共同构成了UI开发的主体。
- 状态管理:ArkTS提供了多维度的状态管理机制。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活的利用这些能力来实现数据和UI的联动
- 渲染控制:ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的UI内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。
以上就是官方对于ArkTS的介绍,对于初学者来说并不算友好,所以我们通过一个登录Demo来了解一下ArkTS。
一、创建工程
打开DevEco Studio,点击Create Project,或通过DevEco Studio的菜单File > New > Create Project
下拉工程模版,在最后选择Login Ability
创建完成后的源码目录:
启动工程
二、工程分析
1.UIAbility管理应用的生命周期方法
根据官方文档UIAbility组件生命周期中的描述,下面是一个应用的生命周期
和对应的生命周期时序图:
所以,登录demo中的EntryAbility.ts
在onWindowStageCreate
方法中通过windowStage.loadContent方法加载了登录页面作为启动页面:
windowStage.loadContent("pages/LoginPage") |
2.页面分析
pages和view文件夹
通过目录可以发现,ArkTS将页面分为两类分别放在pages
和view
文件夹中:
两者的区别:
pages
文件夹存放的是一个个独立的页面文件,每个文件有@Entry
注解来告诉系统这是一个独立页面的入口,也有@Component
注解说明是一个页面文件view
文件夹存放的是一个个可以被复用的页面文件,每个文件只有@Component
注解
简单类比@Entry和@Component
的文件就是iOS中的ViewController和Android中的Activity,@Component
注解的文件就是iOS中的View和Android中的Fragment+View
@Entry页面
@Entry装饰的组件的生命周期:
进入LoginPages.ets主页面:
- 通过
@Entry和@Component
的页面才是独立页面 - 页面使用
struct
作为定义关键字,不是class - 通过
import
关键字引入页面和自定义组件 - 页面的内容必须通过
build
方法构建,与Flutter的写法类似 - 如果不是自定义组件,只是构建一个小模块,比如标题内容的方法
Title()
,前面要使用@Builder
注解进行说明
@Component组件
进入LoginComponent.ets子组件:
与@Entry不一样的地方:
- 通过
@Component
的页面是一个独立页面的子组件,无法独立展示 - 它的生命周期受到父组件的管理
三、状态管理和渲染控制
与Flutter与SwifitUI类似,ArkTS也是通过State来进行状态管理和渲染控制,在上面的登录demo中的LoginComponent.ets
中:
- 通过
@State
定义了userName和password两个状态对象 - 通过监听TextInput的onChange方法修改状态对象的值
- userName和password的值变更后,会自动触发Button的enable的渲染状态的变更
最后,为了能让大家更好的去学习提升鸿蒙 (Harmony OS) 开发技术,小编连夜整理了一份30个G纯血版学习资料(含视频、电子书、学习文档等)以及一份在Github上持续爆火霸榜的《纯血版华为鸿蒙 (Harmony OS)开发手册》(共计890页),希望对大家有所帮助。
纯血版鸿蒙 HarmonyOS 4.0 视频学习资料
需要以上视频学习资料小伙伴
《纯血版华为鸿蒙 (Harmony OS)开发手册》
这份手册涵盖了当前鸿蒙 (Harmony OS) 开发技术必掌握的核心知识点
纯血版鸿蒙 (Harmony OS)开发手册部分精彩内容
HarmonyOS 概念:
- 系统定义
- 技术架构
- 技术特性
- 系统安全
如何快速入门?
- 基本概念
- 构建第一个ArkTS应用
- 构建第一个JS应用
- ……
开发基础知识:
- 应用基础知识
- 配置文件
- 应用数据管理
- 应用安全管理
- 应用隐私保护
- 三方应用调用管控机制
- 资源分类与访问
- 学习ArkTS语言
- ……
基于ArkTS 开发:
- Ability开发
- UI开发
- 公共事件与通知
- 窗口管理
- 媒体
- 安全
- 网络与链接
- 电话服务
- 数据管理
- 后台任务(Background Task)管理
- 设备管理
- 设备使用信息统计
- DFX
- 国际化开发
- 折叠屏系列
- .……
获取以上文中提到的这份纯血版鸿蒙 (Harmony OS) 开发资料的小伙伴
🚀写在最后
- 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
- 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
- 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
- 想要获取更多完整鸿蒙最新VIP学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料