HarmonyOS 前言

为了方便开发者正确获取内容,本导读基于HarmonyOS通用开发历程对相关资源进行了分类,并对原子化服务设备相关的差异化开发历程进行了说明。

开发者可以使用HUAWEI DevEco Studio(点击链接获取工具)开发HarmonyOS用户应用程序。HUAWEI DevEco Studio是面向华为终端全场景多设备的一站式集成开发环境(IDE)。

除此之外,本导读还对开发者教程视频课程等资源进行了汇总,使开发者可以直达所需资源。

通用开发历程

各类设备(手机/平板、智能穿戴、智慧屏等)通用的用户应用程序开发历程如下表所示。

任务

简介

相关资源

认识HarmonyOS

  • 了解HarmonyOS的系统定位、架构、技术特性等。

  • 了解HarmonyOS应用开发的基本概念和基础知识。

准备开发环境

  • 安装开发工具,并配置相关开发环境。

  • 快速构建首个应用,熟悉HarmonyOS应用开发流程。

开发Ability

Ability是HarmonyOS应用程序的重要组成部分,分为FA(Feature Ability)和PA(Particle Ability)两种类型:

  • FA支持Page Ability:Page模板是FA唯一支持的模板,用于提供与用户交互的能力。

  • PA支持Service Ability和Data Ability:Service模板用于提供后台运行任务的能力;Data模板用于对外部提供统一的数据访问抽象。

进行HarmonyOS应用开发,首先要了解Ability如何使用。

开发UI

FA需要提供UI用于与用户进行交互,HarmonyOS提供了Java UI和JS UI两种UI框架:Java UI提供了细粒度的UI编程接口,使应用开发更加灵活;JS UI提供了相对高层的UI描述,使应用开发更加简单。

说明

针对轻量级智能穿戴(Lite Wearable),现阶段只使用JS语言进行应用开发,详见轻量级智能穿戴开发

开发业务功能

  • 媒体:视频、音频、图像、相机等功能的开发。

  • 安全:权限、生物特征识别等功能的开发。

  • AI:图像超分、语音识别、码生成等功能的开发。

  • 网络连接:NFC、蓝牙、WLAN等功能的开发。

  • 设备管理:传感器、控制类小器件、位置等功能的开发。

  • 数据管理:数据库、分布式数据/文件服务、数据搜索等功能的开发。

  • 线程:线程管理、线程间通信等功能的开发。

  • IDL:声明系统服务和Ability对外提供的服务接口,并生成相关代码。

调试应用

如果需要在真机设备上调试应用,则在编译前需要先申请调试证书,并配置签名信息。以便于在编译构建时,生成带签名信息的HAP。

如果在模拟器上调试应用,则不需要签名,直接编译构建HAP即可。

发布应用

如果需要发布到应用市场,需要申请发布证书,并对APP进行签名,再申请上架。

应用发布

原子化服务开发历程

HarmonyOS除支持传统方式的需要安装的应用外,还支持提供特定功能的免安装的应用(即原子化服务),供用户在合适的场景、合适的设备上便捷使用。

原子化服务相对于传统方式的需要安装的应用更加轻量,同时提供更丰富的入口、更精准的分发。原子化服务的详细介绍请参见“原子化服务”。

其基本开发历程如下表所示。

表1 原子化服务基本开发流程

任务

开发历程

相关内容

了解HarmonyOS

了解HarmonyOS的系统定位、技术特性、应用开发的基本概念和基础知识,熟悉HarmonyOS应用开发通用流程。

设计原子化服务

在设计阶段,需要满足原子化服务的设计规范,包括图标、卡片、分布式等规范。

原子化服务设计

掌握原子化服务约束

了解原子化服务之间的调用管控机制。

三方应用调用管控机制

开发原子化服务基础体验

了解原子化服务总体开发规则、如何开发服务卡片等基础体验。

开发原子化服务分布式体验

了解如何开发流转、分享等分布式体验。

设备差异化开发历程

相对于通用开发历程,智能穿戴、智慧屏存在一些特殊应用开发场景,其补充指导如下表所示。

设备类型

简介

相关资源

智能穿戴

对于智能穿戴,应用可以通过HarmonyOS提供的接口实现音频、传感器、网络连接、UI交互、消息提醒等常规业务的开发。开发者也可以根据智能穿戴的特点,打造针对智能穿戴的独特应用。

智能穿戴开发指南

智慧屏

基于HarmonyOS,开发者可以开发智慧屏应用,提供丰富的分布式多媒体体验。应用可以通过HarmonyOS的API实现多媒体业务、网络访问、UI开发等能力

智慧屏开发指南

路由器

对于路由器,应用可以通过HarmonyOS提供的接口实现管理智能设备,如获取智能设备信息、订阅智能设备数据变化、控制智能设备等业务的开发。开发者也可以根据家庭多设备联动的特点,打造针对全屋智能的独特应用。

路由器开发指南

代码示例工程

针对HarmonyOS的重点功能提供了对应的示例代码,如Ability、UI、设备管理、AI、数据、数据管理等,具体请参考代码示例工程

开发者教程

针对重点功能或场景的开发者教程如下表所示。

分类

主题

简介

效率提升套件

元数据绑定框架

基于HarmonyOS Java UI,使用元数据绑定框架,实现UI和数据源的绑定。

卡片

Java时钟卡片

基于HarmonyOS Java UI,实现简易的时钟卡片应用。

JS计步器卡片

基于HarmonyOS JS UI,实现桌面卡片数据的可视化。

Java UI

简易计算器

介绍如何使用HarmonyOS实现一个简单的计算器应用。

安全

HarmonyOS面部识别能力

基于HarmonyOS生物特征识别和相机子系统,实现人脸识别和相机拍照功能。

设备管理

BLE蓝牙低功耗

使用Bluetooth Low Energy(低功耗蓝牙)实现设备间通信。

基于HarmonyOS获取设备位置

基于HarmonyOS位置相关接口,获取设备实时位置,调用HarmonyOS方向传感器,获取方向信息。

通用组件

WebView组件

使用WebView组件实现应用与Web页面间的通信。

自定义组件

通过一个圆形抽奖转盘演示HarmonyOS自定义组件的实现。

JS组件购物应用演示

使用JS实现一款简单的HarmonyOS购物应用。

常用组件和布局

基于HarmonyOS Java UI,实现常见组件或者布局。

AI

AI通用文字识别

基于AI通用文字识别能力,检测和识别文档翻拍、街景翻拍等图片中的文字。

AI语音播报系统

基于AI语音播报能力,朗读输入的文字内容。

数据库

分布式数据库

基于分布式数据接口,实现多种设备上一致的数据访问体验。

关系型数据库

基于Data Ability的关系型数据库和数据管理能力,实现数据库相关应用服务的快速开发。

轻量级偏好数据库

基于轻量级偏好数据库,实现存储在本地应用数据的访问及操作。

媒体

音频播放管理

基于HarmonyOS Player,实现音频的播放、管理控制和采集。

编解码能力

基于HarmonyOS编解码能力,实现Camera实时预览流的播放。

图片编辑模板

基于图片处理能力,实现一个图片编辑模板。

图片常见操作

基于HarmonyOS图像编解码,实现图片的旋转、剪裁、缩放、镜像。

简易视频播放器

基于HarmonyOS Player,实现视频文件的播放。

分布式

分布式运动健康应用(智能穿戴端)

基于分布式数据服务和传感器模块,实现智能穿戴和手机间数据同步以及心率等健康数据的获取。

分布式运动健康(手机端)

基于分布式数据服务和Service Ability,实现多设备间数据同步以及收到异常数据后拉起应用。

分布式地图导航

基于分布式能力,实现地图导航信息在手机-车机-智能穿戴设备之间流转。

分布式输入法

基于分布式能力,将手机作为智慧屏的虚拟控制器,控制文字输入和遥控播放。

分布式游戏手柄

基于分布式能力,将手机作为智慧屏的虚拟手柄终端,组成全新的多人娱乐场景。

分布式邮件编辑

基于跨设备迁移和分布式文件能力,实现邮件的跨设备编辑和附件的调用。

分布式语音照相机

基于分布式文件系统和AI语音识别功能,实现一款分布式语音照相机。

分布式调度启动远程FA

基于分布式调度的能力,实现远程FA的启动。

跨设备视频播放

基于分布式能力和IDL跨进程通信,实现视频跨设备播放、控制。

分布式新闻客户端

基于HarmonyOS应用中Service Ability和Page Ability的使用,实现跨设备FA拉起。

分布式亲子早教系统

基于分布式能力,实现一个多屏互动、跨设备协同的亲子早教系统。

视频课程

主题

简介

什么是HarmonyOS

介绍HarmonyOS定义及特点。

HarmonyOS系统架构

介绍HarmonyOS系统架构以及FA/PA原理。

HarmonyOS应用开发系列课(基础篇)

介绍HarmonyOS整体架构和理念,关键技术(分布式关键技术/安全和隐私/UX),应用程序框架,以及开放能力和工具平台。

HarmonyOS应用开发系列课(进阶篇)

介绍HarmonyOS应用程序框架,HarmonyOS分布式软总线、任务调度,分布式数据管理、安全和隐私设和UX体验设计等内容。

HarmonyOS应用开发系列课(高级篇)

HarmonyOS系列课程,快速上手HarmonyOS应用开发。

HarmonyOS应用开发系列课(案例篇)

HarmonyOS开发者实战经验和案例分享。


上一主题 没有了 下一主题 什么是HarmonyOS
  • 使用社交账号登录,本站支持
全部评论(0)