目录
文章学习目标:
1、学习和了解方舟开发框架(ArkUI)、ArkTS的声明式开发范式
2、掌握ArkUI基础组件(Text、Button等)、容器组件(Column、Row、List、Grid等)
3、常用组件在HMS世界中的应用
概念介绍
方舟开发框架(简称ArkUI):为HarmonyOS应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。
ArkTS:是UI开发语言,基于TypeScript(简称TS)语言扩展而来,是TS的超集。扩展能力包含各种装饰器、自定义组件、UI描述机制。
声明式开发范式:基于ArkTS的声明式开发范式的方舟开发框架是一套开发极简、高性能、支持跨设备的UI开发框架,提供了构建HarmonyOS应用UI所必需的能力。
声明式UI语法
响应式原理
- View(UI):UI渲染,一般指自定义组件的build方法和@Builder装饰的方法内的UI描述。
- State:状态,指驱动UI更新的数据。用户通过触发组件的事件方法,改变状态数据。状态数据的改变,引起UI的重新渲染
在首次渲染的时候,执行build方法渲染系统组件,如果有自定义子组件,则创建自定义组件的实例。在执行build()函数的过程中,框架会观察每个状态变量的读取状态,拦截状态变量的get和set操作。
- 状态变量-> UI组件(包括ForEach和if)
- UI组件-> 此组件的更新函数,即一个lambda方法,作为build()函数的子集,创建对应的UI组件并执行其属性方法。
重新渲染
- 框架观察到了变化,将启动重新渲染
- 根据框架持有的两个map,框架可以知道该状态变量管理了哪些UI组件,以及这些UI组件对应的更新函数。执行这些UI组件的更新函数,实现最小化更新
组件概览
属性和事件
通用属性方法用于组件基本属性的配置,通用事件方法用于添加组件对通用事件的响应逻辑
ArkUI组件支持该组件特有的属性和事件方法,其中大多数支持通用属性和通用事件
常用组件与布局
- Text 文本组件
- Image 图片组件
- TextInput 输入框组件
- Button 按钮组件
- LoadingProgress 加载动效组件
- Flex 弹性布局子组件容器
- Column 沿垂直布局容器
- Row 沿水平布局容器
- List 列表组件
- Swiper 滑动切换组件
- Grid 网格容器
基础组件的使用


Column、Row容器
构建丰富的页面:List、Swiper、Grid、Tabs
ArkUI总结
- 方舟开发框架(ArkUI)、ArkTS的声明式开发范式
- Button、Image、TextInput、Text等基础组件的使用
- Column、Row、List、Tabs等容器的使用