SuperAPI AI 工具集

harmonyos-app

编程与开发

查看项目

更新于 10-15 12:47

技能介绍

用途定位

该技能旨在为 HarmonyOS 应用开发提供一套专家级的规范与指导。它适用于使用 ArkTS、ArkUI、Stage 模型以及分布式能力构建 HarmonyOS 应用的场景。

核心原则

在开发 HarmonyOS 应用时,应遵循以下核心原则:

  • ArkTS 优先:使用 ArkTS 并保持严格的类型安全,禁止使用 any 或动态类型。
  • 声明式 UI:使用 ArkUI 的声明式组件和状态管理来构建界面。
  • Stage 模型:使用现代的 Stage 模型(UIAbility),而非旧版 FA 模型。
  • 分布式设计:从一开始就利用跨设备能力。
  • 元服务:考虑使用元服务和卡片来提供轻量级体验。
  • 一次开发,多端部署:为多设备适配(手机、平板、手表、电视)进行设计。

主要能力与强制规则

该技能规定了必须遵守的硬性规则:

  1. 禁止动态类型:ArkTS 禁止动态类型。不得使用 any、类型断言或动态属性访问。应使用接口定义类型,对于动态键可使用 Record 类型。
  2. 禁止直接修改状态:不得直接修改嵌套对象中的 @State/@Prop 变量。必须使用不可变更新方式(如展开运算符创建新对象)来触发 UI 更新。对于数组,禁止使用 push,应使用展开运算符创建新数组。
  3. 仅使用 Stage 模型:始终使用 Stage 模型(UIAbility),不得使用已弃用的 FA 模型(PageAbility)。
  4. 组件复用:应将可复用的 UI 抽取为 @Component,避免在 build() 方法中编写复杂的行内 UI。

使用方式

状态装饰器选择

文档提供了状态装饰器的选择指南:

  • @State:组件拥有的状态,变化时触发重新渲染。
  • @Prop:父组件传值,子组件获得副本(单向)。
  • @Link:父组件传递引用,子组件可修改(双向)。
  • @Provide/@Consume:祖先组件向所有后代提供/消费值。
  • @StorageLink/@StorageProp:与 AppStorage 同步,双向/单向绑定。
  • @Observed/@ObjectLink:用于可观察对象及关联父组件中的 @Observed 对象。

项目结构

推荐的项目架构包含 entry 模块、common 库模块和 features 功能模块。entry 模块内部包含 entryability、pages、components、viewmodel、model、service、repository、utils 和 constants 等目录。

架构分层从下到上依次为:数据源(本地/远程)、Repository 层(数据访问抽象)、Service 层(业务逻辑)、ViewModel 层(状态管理与 UI 逻辑)、UI 层(ArkUI 组件)。

ArkUI 组件模式

文档提供了多种组件模式的示例:

  • 基础组件结构,包括 @Prop、@State、getter 计算属性、生命周期与事件处理。
  • 配合 LazyForEach 使用的列表,包括数据源实现与列表渲染。
  • 自定义弹窗 @CustomDialog 的定义与使用。

适用场景

该技能适用于构建基于 ArkTS 和 ArkUI 的 HarmonyOS 应用,特别是需要遵循 Stage 模型、严格类型安全和组件化开发的场景。

限制

关于该技能的收费、价格、平台或具体效果等信息,暂未提供。