当前位置:   article > 正文

写给初学者的 HarmonyOS 教程 -- 什么是 ArkTS ?

写给初学者的 HarmonyOS 教程 -- 什么是 ArkTS ?

Harmony 应用开发所使用的语言为:ArkTs。它在 TypeScript 的基础上拓展了声明式 UI、状态管理等相应能力,让开发者已更简洁自然的方式开发高性能应用。

ArkTs 是 TypeScript 的拓展,提供了一套声明式 UI 描述规范,帮助你以更接近自然语义的方式直接的描述 UI 界面。

在这里插入图片描述

二、ArkTS 声明式开发范式

下面是一段很简单的代码示例:

在这里插入图片描述

在这个示例中标注了 ArkTS 声明式开发范式的基本组成,具体说明如下:

组成说明
装饰器用来装饰类、结构体、方法以及变量,赋予其特殊的含义,如上述示例中 @Entry 、 @Component 、 @State 都是装饰器
具体而言:
@Component 表示这是个自定义组件;- - 类似 @Composable
@Entry 表示这是个入口组件;
@State 表示组件中的状态变量,此状态变化会引起 UI 变更;- - 类似 Compose 的 MutabeState
自定义组件可复用的 UI 单元,可组合其它组件,如上述被 @Component 装饰的 struct Hello
- - 类似加了@Composable 注解的自定义 Composable 函数
UI 描述声明式的方式来描述 UI 的结构,如上述 build() 方法内部的代码块
- - 和自定义 Composable 函数内部代码块差不多的意思,只是多了个 build()
内置组件框架中默认内置的基础和布局组件,可直接被开发者调用,比如示例中的 Column、Text、Divider、Button
- - 和 Compose 内置的组件名称差不多
事件方法用于添加组件对事件的响应逻辑,统一通过事件方法进行设置,如跟随在 Button 后面的 onClick()
- - 都有这玩意,Composable 事件处理函数是:Lambda 表达式,而 ArkTs 事件处理函数叫:箭头函数
属性方法用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等,可通过链式调用的方式设置多项属性
- - Compose 里面是 Modifier 修饰符,而 ArkTs 直接链式,更简单粗鲁

从 UI 框架的需求角度,ArkTS 在 TS 的类型系统的基础上,做了进一步的扩展:定义了各种装饰器、自定义组件和 UI 描述机制,再配合 UI 开发框架中的UI内置组件、事件方法、属性方法等共同构成了应用开发的主体。

在应用开发中,除了 UI 的结构化描述之外,还有一个重要的方面:状态管理

如上述示例中,用 @State 装饰过的变量 message ,包含了一个基础的状态管理机制,即 message 的值的变化会自动触发相应的 UI 变更,其实就是:状态驱动视图

ArkUI 中进一步提供了多维度的状态管理机制。和 UI 相关联的数据,不仅可以在组件内使用,还可以在不同组件层级间传递,比如父子组件之间,爷孙组件之间,也可以是全局范围内的传递,还可以是跨设备传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活的利用这些能力来实现数据和 UI 的联动(类似于 Composable 的 CompositionLocal)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/92084
推荐阅读
相关标签
  

闽ICP备14008679号