Ability是应用/服务所具备的能力的抽象,一个Module可以包含一个或多个Ability。应用/服务先后提供了两种应用模型:
- FA(Feature Ability)模型: API 7开始支持的模型,已经不再主推。
- Stage模型:API 9开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的"舞台",因此称这种应用模型为Stage模型。
- Stage模型包含两种Ability组件类型:
- UIAbility组件:包含UI界面,提供展示UI的能力,主要用于和用户交互。
- ExtensionAbility组件:提供特定场景的扩展能力,满足更多的使用场景。当前仅OpenHarmony工程支持使用ExtensionAbility组件
Stage模型添加UIAbility
在模块中添加UIAbility
选中对应的模块,单击鼠标右键,选择New > Ability。
- 设置Ability名称,选择是否在设备主屏幕上显示该功能的启动图标,单击Finish完成Ability创建。

在模块中添加Extension Ability
- 在OpenHarmony工程中选中对应的模块,单击鼠标右键,选择New > Extension Ability,选择不同的场景类型 。
- Accessibility:用于提供辅助功能业务的能力;
- WorkScheduler:用于提供延迟任务回调实现的能力。

2.设置Ability名称,单击Finish完成Extension Ability创建。

FA模型添加Ability
ArkTS工程与JS工程在FA模型中添加Ability的操作方式一致,本节内容以ArkTS工程为例介绍在模块中添加Ability。
创建Particle Ability
- 选中对应的模块,单击鼠标右键,选择New > Ability,然后选择对应的Data Ability/Service Ability模板。

2.根据选择的Ability模板,设置Ability的基本信息。
- Ability name:Ability类名称,由大小写字母、数字和下划线组成。
- Language:该Ability使用的开发语言。
3.单击Finish完成Ability的创建,可以在工程目录对应的模块中查看和编辑Ability。
创建Feature Ability
- 选中对应的模块,单击鼠标右键,选择New > Ability,然后选择对应的Page Ability模板。

2.根据选择的Ability模板,设置Ability的基本信息。
- Ability name:Ability类名称,由大小写字母、数字和下划线组成。
- Launcher ability:表示该Ability在终端桌面上是否有启动图标,一个HAP可以有多个启动图标,来启动不同的FA。
- Language:该Ability使用的开发语言。
- **Enable Super Visual:**如果选择低代码方式开发,可打开此开关。
3.单击Finish完成Ability的创建,可以在工程目录对应的模块中查看和编辑Ability。
那么很多小伙伴肯定主要是查找一些鸿蒙开发相关的内容提升自己,在这里,我为大家准备了一套**《Open Harmony4.0&Next》的学习导图** ,从入门到进阶再到南北向开发实战的一整套完整体系 ,想要学习了解更多鸿蒙开发的相关知识可以借鉴:《做鸿蒙应用开发到底学习些啥?》

除了以上的知识内容,我还为大家整理了一份**《鸿蒙 (Harmony OS)开发学习手册》都是整理成PDF文档方式,分享给大家参考学习:《鸿蒙基础入门开发宝典!》**
《鸿蒙 (Harmony OS)开发学习手册》
一、入门必看
-
应用开发导读(ArkTS)
-
应用开发导读(Java)
3.......

二、HarmonyOS 概念
-
系统定义
-
技术架构
-
技术特性
-
系统安全
5......

三、如何快速入门?《鸿蒙开发学习指南》
-
基本概念
-
构建第一个ArkTS应用
-
构建第一个JS应用
-
......

四、开发基础知识
-
应用基础知识
-
配置文件
-
应用数据管理
-
应用安全管理
-
应用隐私保护
-
三方应用调用管控机制
-
资源分类与访问
-
学习ArkTS语言
-
......

五、基于ArkTS 开发
-
Ability开发
-
UI开发
-
公共事件与通知
-
窗口管理
-
媒体
-
安全
-
网络与链接
-
电话服务
-
数据管理
-
后台任务(Background Task)管理
-
设备管理
-
设备使用信息统计
-
DFX
-
国际化开发
-
折叠屏系列
-
......

更多了解更多鸿蒙开发的相关知识可以参考:《做鸿蒙应用开发到底学习些啥?》