一、开发语言与UI框架:ArkTS 与 ArkUI

自 HarmonyOS 3.1 起,华为明确将 ArkTS 作为鸿蒙生态的主力开发语言。ArkTS 是在 TypeScript 的语法基础上,针对鸿蒙系统的运行时环境和分布式特性进行了深度扩展。它保留了 TypeScript 的静态类型检查、泛型、接口等优势,同时引入了面向声明式 UI 编程的语法糖(如 @State@Prop@Link 等装饰器),使得状态驱动的 UI 更新更加直观高效。

与之配套的 ArkUI 是鸿蒙新一代的声明式 UI 框架,彻底摒弃了早期类 Android 的命令式写法。其核心理念是“一次开发,多端自适应”。开发者只需编写一套 UI 代码,ArkUI 即可根据设备屏幕尺寸、交互方式(触控、遥控、语音等)和系统能力,自动调整布局结构、组件形态甚至交互逻辑。例如,同一段代码在手机上呈现为列表,在智慧屏上可能自动转为网格+焦点导航,在手表上则简化为单屏卡片。

ArkUI 内置了丰富的原子化组件(如 ButtonTextImageList 等),并支持自定义组件封装。动画系统基于关键帧和物理引擎,手势识别支持多点触控与复合手势(如双指缩放+拖拽),主题系统则允许动态切换深色/浅色模式或品牌定制皮肤。这些能力共同构成了鸿蒙应用现代化 UI 的技术底座。

二、应用能力与交互:Ability Kit 与 Form Kit

  • UIAbility:承载用户可见的界面,管理页面栈、生命周期(onCreateonForegroundonBackground 等)、窗口属性及权限申请。

  • ExtensionAbility:作为扩展能力,用于实现特定系统服务的对接,如 Service(后台任务)、DataShare(数据共享)、Form(服务卡片)、InputMethod(输入法)等。

这种“主能力 + 扩展能力”的模型,既保持了模块解耦,又便于系统对不同能力进行精细化资源调度和权限管控。

Form Kit 是鸿蒙“原子化服务”理念的关键载体。服务卡片(即“元服务卡片”)允许用户在不打开完整应用的前提下,直接在桌面、服务中心或负一屏获取实时信息或执行快捷操作。例如:

  • 快递应用可显示最新物流状态,点击“签收”直接完成操作;

  • 音乐应用卡片支持播放/暂停、切歌,甚至显示专辑封面;

  • 智能家居卡片可一键开关灯光或调节温度。

Form Kit 提供了完整的生命周期管理(onAddonUpdateonRemove)、数据更新机制(通过 FormProvider 推送)、交互事件处理(如点击、长按)以及多尺寸模板(1x2、2x2、2x4 等)。开发者需注意卡片的性能约束——系统会限制其内存占用和更新频率,以保障整体流畅性。

三、数据管理与持久化:ArkData 与 Core File Kit

鸿蒙的数据管理不依赖单一数据库方案,而是通过 ArkData 提供统一抽象层,覆盖从轻量配置到复杂关系数据的全场景需求:

  • Preferences:适用于存储少量键值对,如用户设置、开关状态。读写速度快,但不支持复杂查询。

  • Object Store(对象型数据库):以对象为单位存储,支持索引、查询和事务,适合结构化但非关系型的数据(如聊天记录、笔记)。

  • RDB(关系型数据库):基于 SQLite 封装,提供标准 SQL 接口,适用于需要多表关联、复杂查询的业务(如订单系统、用户关系网)。

ArkData 的 API 设计强调声明式与响应式。例如,通过 @Observed 和 @ObjectLink 装饰器,可实现数据库变更自动触发 UI 更新,减少手动监听的样板代码。此外,ArkData 还支持 跨设备数据同步,在分布式场景下,同一用户在不同设备上的数据可自动对齐(需用户授权并处于同一信任网络)。

对于文件操作,Core File Kit 提供了沙箱化的文件系统访问能力。每个应用拥有独立的私有目录,无法直接访问其他应用数据。Kit 支持:

  • 基础文件操作(创建、读写、删除、重命名);

  • 目录遍历与权限检查;

  • 访问公共目录(如相册、下载)需通过 PhotoAccessHelper 等受控接口;

  • 分布式文件访问:在设备可信互联的前提下,可跨设备读取文件(如从手机访问平板上的文档)。

四、后台任务与进程通信:Background Tasks Kit 与 IPC Kit

为平衡用户体验与系统资源,鸿蒙对后台行为实施严格管控。Background Tasks Kit 提供了几种合规的后台执行方式:

  • Short-term tasks:如下载完成后的通知,允许短暂后台运行(通常 < 10 秒);

  • ContinuousTask:用于需要持续运行的场景,需向系统申请“持续任务”权限,并在状态栏显示常驻通知;

  • WorkScheduler:用于延迟或周期性任务,系统会根据设备状态智能调度执行时机,避免耗电。

所有后台任务均需在 config.json 中声明对应权限,并在运行时动态申请。

在分布式架构下,IPC Kit(进程间通信套件)成为连接不同进程或设备的桥梁。其底层基于改进的 Binder 机制,提供:

  • 同步/异步方法调用;

  • 支持传递基本类型、对象(需实现 Parcelable)、文件描述符;

  • 内置权限校验,调用方需具备对应 ohos.permission

  • 支持跨设备 IPC(通过软总线),实现如“手机调用平板摄像头”等场景。

开发者通常通过定义 .idl 接口文件生成 Stub/Skeleton 代码,简化通信逻辑。

五、输入与增强体验:IME Kit 与 Data Augmentation Kit

IME Kit 为输入法开发者提供完整能力集:

  • 自定义键盘布局与皮肤;

  • 候选词管理、云词库同步;

  • 输入预测与纠错;

  • 与宿主应用通信(如密码框自动隐藏候选栏)。

普通应用也可通过 IME Kit 控制软键盘行为,如监听弹出/收起、强制聚焦、限制输入类型等。

Data Augmentation Kit 是面向端侧 AI 的预处理工具包。在图像类 AI 应用(如拍照识物、文档扫描)中,常需对原始数据进行增强以提升模型鲁棒性。该 Kit 提供:

  • 图像变换:旋转、翻转、裁剪、缩放;

  • 色彩调整:亮度、对比度、饱和度、噪声注入;

  • 批量处理接口,适配 NPU 加速。

这些操作在设备端完成,既保护用户隐私,又减少云端依赖。

六、Web 集成

ArkWeb 并非简单嵌入 WebView,而是鸿蒙自研的高性能 Web 引擎。它支持:

  • HTML5、CSS3、ES6+ 标准;

  • 与 ArkTS 原生代码双向通信(通过 @Entry 和 postMessage);

  • 安全沙箱隔离,限制危险 API(如 file:// 访问);

  • 离线包加载,提升弱网体验。

适用于混合开发、H5 活动页、第三方内容嵌入等场景。

结语

相较于 Android(Java/Kotlin + XML) 和 iOS(Swift/Objective-C + UIKit/SwiftUI) 开发,鸿蒙以 ArkTS + ArkUI 为核心的声明式开发范式,在语法简洁性、状态管理自动化和跨端一致性上展现出明显优势——它更接近前端框架(如 React/Vue)的响应式思维。

与 Web 前端 相比,ArkTS 虽借鉴 TypeScript,但并非运行在浏览器中,而是直接编译为高效字节码,在提供类似开发体验的同时,拥有更强的系统控制力和硬件调度能力。

而鸿蒙最独特的竞争力,在于其原生支持“一次开发,多端部署”——无论是手机、平板、手表、车机还是智慧屏,开发者无需为不同平台维护多套代码,系统可自动适配界面与交互;同时,依托强大的分布式能力(如跨设备数据同步、服务卡片、软总线通信等),还能实现设备间的无缝协同与资源共享。

-END -

如果您关注前端+AI 相关领域可以扫码进群交流

添加小编微信进群😊

关于奇舞团

奇舞团是 360 集团最大的大前端团队,非常重视人才培养,有工程师、讲师、翻译官、业务接口人、团队 Leader 等多种发展方向供员工选择,并辅以提供相应的技术力、专业力、通用力、领导力等培训课程。奇舞团以开放和求贤的心态欢迎各种优秀人才关注和加入奇舞团。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐