赞
踩
Harmony 应用开发所使用的语言为:ArkTs。它在 TypeScript 的基础上拓展了声明式 UI、状态管理等相应能力,让开发者已更简洁自然的方式开发高性能应用。
ArkTs 是 TypeScript 的拓展,提供了一套声明式 UI 描述规范,帮助你以更接近自然语义的方式直接的描述 UI 界面。
下面是一段很简单的代码示例:
在这个示例中标注了 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)。
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。