前言
2023年,华为推出了单框架的手机操作系统HarmonyOS Next,标志着HarmonyOS脱离了Linux内核和Android OpenSource Project代码,HarmonyOS成为第一款纯血国产操作系统。在国家政策以及国际形势的驱使下,华为终端包括手机、车机等在全世界得以广泛推广,并得到广大终端消费者的积极使用,HarmonyOS Next的生态越来越成熟。随着华为终端逐年普及与增长,以国产HarmonyOS Next系统作为终端基座的移动手机应用和物联网应用开发甚至是PC应用需求都随之增长,在IT业态中将产生大量的就业岗位。因此,为了满足广大应用开发者的技术需求,本书将全面介绍基于HarmonyOS系统的应用开发技术、中间件适配开发技术以及如何发挥HarmonyOS的产品特性的开发技术。
1. 本书读者
对HarmonyOS感兴趣的在校大学生。
从事移动应用开发的职场人士。
从事移动互联网的架构师。
2. 本书内容
第1章前端开发基础。HarmonyOS采用自研单框架系统,以ArkTS作为其开发语言,是因为ArkTS是站在ES6和TS语言的肩膀上,吸收了前辈优点的基础上优化而成的。本章首先介绍JavaScript编程基本语法——变量定义、循环分支判断、函数定义与应用等;其次介绍ES6新特性——箭头函数、模板字符串、面向对象特性(类与继承等)、模块化以及Promise技术;最后介绍TS的强类型、抽象与接口等新的改进点,为ArkTS的掌握打下坚实的基础。
第2章HarmonyOS应用开发环境。本章首先介绍HarmonyOS应用开发的集成环境DevEco Studio的使用,并通过向导生成第一个应用工程案例HelloWorld;其次介绍IDE环境中的预览器Preview、HarmonyOS手机本地模拟器Emulator、调试器Debugger以及真机环境的搭建与使用;最后通过第一个程序的安装和运行来熟悉HarmonyOS Next的开发环境。
第3章ArkTS状态管理与渲染控制。本章首先介绍声明式编程思想及ArkTS程序的语法结构;然后通过自定义组件、变量的状态管理以及应用状态管理案例,让读者逐步掌握ArkTS代码结构和理解基于ArkTS的HarmonyOS应用编程思想。
第4章ArkUI常用组件与布局。本章开始介绍HarmonyOS UI编程,首先从ArkUI布局入手介绍常用的UI组件及UI的设计与实现;其次介绍ArkUI组件的通用属性和事件,为扩展ArkUI的新组件使用打下基础;最后通过驴途App案例的首页页面设计与实现,学习Row/Column线性布局、Image、Text、轮播图Swiper、瀑布流组件WaterFlow、Tabs/TabContent等常用组件的使用。
第5章界面动画手势与Web组件开发。本章通过驴途App案例的攻略分享界面设计与实现,继续介绍UI布局与组件,主要介绍ArkUI中的动画、手势、Web组件等特殊组件及其特殊属性和方法。
第6章应用模型开发。应用模型是手机或设备系统管理应用的基本单元,本章首先介绍生成应用基本单元Ability的Stage模型的配置文件(系统通过配置来生成应用基本单元Ability)、Ability容器配置/生命周期、Ability与进程的关系、UIAbility构建与通信、用来唤醒和调用Ability的Want组件,然后介绍UIAbility启动Launch的三种模式,加深读者对HarmonyOS Next系统的应用模型工作原理的理解,为后续内容的理解与App开发奠定基础。
第7章权限管理与网络请求。本章系统讲解HarmonyOS的权限管理机制,包括APL等级划分、授权方式以及动态申请权限的流程。同时结合实际案例,介绍基于HTTP模块的网络请求技术,为应用获取云端数据打下基础。
第8章文件服务和数据管理。本章将介绍HarmonyOS Next如何管理存储在本地手机或设备上的数据文件和数据,以及管理权限和隐私设置。存储在本地手机的文件类型分为应用内文件、共享文件、用户文件,可以通过不同的方式进行访问;存储在本地手机上的数据可以通过用户首选项、键值对数据库以及关系数据库方式管理。
第9章应用后台任务。本章讲解HarmonyOS后台任务管理,涵盖短时、长时、延迟任务及代理提醒,强调遵循规范与资源限制,确保后台高效合规运行。
第10章手机能力开发。本章介绍手机能力开发,主要包括事件发布、通知能力、短信能力、剪贴板能力、设备信息读取能力等,在申请权限基础上,使用这些手机能力为应用助力。
第11章SDK开放能力。手机上的能力还不足以满足应用开发的需要,系统将满足应用开发需求常见的模块进行封装,并以SDK的方式提供给开发者使用,提升开发效率以及便于调试维护。本章介绍了HarmonyOS Next系统中目前所提供的主流的SDK开发能力: 广告Adv服务、地图MapKit服务、定位服务、用户验证服务以及消息推送Push服务、二维码Scanner服务等。
第12章集成第三方库的NDK技术应用。在第10章和第11章技术的基础上,某些场景实现还需要借助更底层的资源来实现需求。HarmonyOS集成第三方C++的so库、第三方框架ffmpeg等,甚至需要借助底层资源新开发高性能的库。本章介绍HarmonyOS Next提供的Ark引擎与第三方C++库交互的NDK技术。本章的内容涉及NDK调用、异步调用等技术,可以完成基于Ark引擎工作的ArkUI与C++底层库或第三库之间的交互。通过NativeXComponent技术,实现UI与底层C++业务实现映射与交互,满足C++业务库与用户之间交互和事件通知。其次,本章还介绍了NDK技术调用libEGL第三方图形库技术,让App能充分应用在NativeXComponent绘制UI和交互的自定义第三方控件能力。
第13章元服务开发与可分可合、自由流转。元服务支持免安装、可分可合的轻量化开发;自由流转基于统一基座实现跨设备调用与协作,包含跨端迁移和多端协同。本章还通过应用接续实战案例,阐述跨端迁移的开发流程。
第14章一次开发,多端部署。本章阐述HarmonyOS“一次开发,多端部署”方案,介绍开发流程,详解分层架构体系的设计与工程管理,涵盖页面开发的布局、交互、多态组件,以及系统能力与多设备功能开发,旨在解决多终端适配挑战。
第15章端云一体化开发。针对前后端分离开发的弊端,HarmonyOS提出了端云一体化的开发模式,让开发者在不具备后端服务开发能力的基础上,能够实现前后端一体化联调和性能分析。通过前后端开发语言一体化、IDE前后端支持以及快速的云数据库、云函数服务等快速部署来实现端云一体化开发模式;同时HarmonyOS提供了针对后台服务开发的快捷二次低码平台。
3. 配套案例驴途App
本书的各章节配套的案例是一款供旅游者使用的驴途App。本书作者将App拟实现功能所需的HarmonyOS技术拆分到书中各章节,读者学习HarmonyOS技术的过程,也是构建App的过程,从而让读者能将学到的技术灵活应用,达到学以致用的目的。
本书入选福建省“十四五”规划教材,是福建省高等教育研究院高等教育改革与研究项目(FGJG202405)的阶段性成果。
本书的出版得到陈建林老师和清华大学出版社相关人员的大力支持,在此表示衷心感谢。由于HarmonyOS在持续改进与优化,加上编者水平有限,书中难免存在不足之处,敬请各位专家和读者批评指正。
编者
2026年5月
