本文同步发表于我的微信公众号,微信搜索 程语新视界 即可关注,每个工作日都有文章更新
一、什么是Form Kit?
Form Kit(卡片开发服务)是鸿蒙系统提供的一种开发框架和API,用于在桌面、锁屏等系统应用上嵌入显示应用信息。通过服务卡片(简称"卡片"),可以将应用内用户关注的重要信息或常用操作抽取出来,添加到桌面、锁屏等系统应用上,实现信息展示、服务直达的便捷体验效果。
价值
-
信息呈现:将应用重要信息以卡片形式展示在桌面
-
服务直达:通过卡片内按钮实现快捷操作或页面跳转
二、卡片使用场景
1. 支持设备类型
| 设备类型 | 是否支持 |
|---|---|
| 手机 | 支持 |
| 平板 | 支持 |
| PC/2in1 | 支持 |
| 智慧屏 | 支持 |
| 智能手表 | 支持 |
| 轻量级智能穿戴设备 | 不支持 |
2. 应用类型支持
-
应用内:支持开发卡片
-
元服务内:支持开发卡片
3. 卡片使用位置
-
支持:桌面、锁屏等系统应用
-
不支持:普通应用内嵌入显示卡片
4. 卡片使用步骤
步骤1:长按桌面的应用图标,弹出操作菜单
步骤2:点击"卡片"选项,进入卡片管理页面,预览卡片
步骤3:点击"添加到桌面"按钮,即可在桌面上看到新添加的卡片
三、卡片中相关概念
1. 卡片使用方
-
定义:作为显示卡片内容的宿主应用
-
示例:桌面、锁屏等系统应用
-
功能:
-
与用户直接交互
-
完成卡片添加、删除、显示
-
控制卡片在宿主中的展示位置
-
2. 卡片提供方
-
定义:提供卡片的应用或元服务
-
职责:卡片功能的具体实现者
-
需要实现:
-
卡片UI设计
-
数据更新机制
-
点击交互处理
-
3. 卡片管理服务
-
定义:操作系统内管理整机卡片信息的系统服务
-
作用:作为卡片提供方和使用方的桥梁
-
对使用方提供的功能:
-
卡片信息查询
-
卡片添加
-
卡片删除
-
-
对提供方提供的功能:
-
卡片被添加通知
-
卡片被删除通知
-
卡片刷新通知
-
点击事件通知
-
四、亮点
1. 信息呈现
-
将应用/元服务的重要信息以卡片形式展示在桌面
-
支持信息定时更新能力
-
用户可以随时查看关注的信息
2. 服务直达
-
快捷操作:通过点击卡片内按钮,实现功能快捷操作
-
页面跳转:支持点击后跳转到应用/元服务对应功能页
-
一步直达:实现功能服务直达的便捷体验
五、开发模式
1. 模型选择
| 模型类型 | 支持情况 | 推荐度 |
|---|---|---|
| Stage模型 | 支持 | 推荐 |
| FA模型 | 支持 |
建议:虽然两种模型都支持,但更推荐使用Stage模型
2. UI开发范式选择
Stage模型支持两种UI开发方式
| 开发方式 | 说明 |
|---|---|
| ArkTS卡片 | 基于ArkTS声明式开发范式语言开发 |
| JS卡片 | 基于兼容JS的类Web开发范式语言开发 |
FA模型支持的开发方式
-
仅支持基于类Web范式JS语言开发JS卡片
3. ArkTS卡片 vs JS卡片对比
| 类别 | JS卡片 | ArkTS卡片 |
|---|---|---|
| 开发范式 | 类Web范式 | 声明式范式 |
| 组件能力 | 支持 | 支持 |
| 布局能力 | 支持 | 支持 |
| 事件能力 | 支持 | 支持 |
| 自定义动效 | 不支持 | 支持 |
| 自定义绘制 | 不支持 | 支持 |
| 逻辑代码执行 | 不支持 | 支持 |
4. 选择
选择ArkTS卡片的场景:
-
需要自定义动效
-
需要自定义绘制
-
需要在卡片中执行逻辑代码
-
追求更丰富的交互体验
选择JS卡片的场景:
-
简单的信息展示
-
FA模型开发
-
追求轻量级实现
六、与相关Kit的关系
1. Ability Kit
-
关系:Form Kit内部实现依赖Ability Kit提供的Extension基础能力
-
交互:与Ability Kit存在生命周期调度交互
2. ArkUI
-
关系:Form Kit卡片提供方在卡片页面中可以使用ArkUI的能力
-
可用的ArkUI能力:
-
部分组件
-
事件处理
-
动效
-
状态管理
-
转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/wangsen927/article/details/158267089



