前言
HarmonyOS(鸿蒙操作系统)自2019年被中国华为公司发布以来,一直受到广泛关注。HarmonyOS的诞生恰逢我国近年来在高、精、尖及基础领域受到国外挤压的关键时期,其发布对我国操作系统国产化具有战略意义。
HarmonyOS是一款面向全场景智慧生活方式的分布式操作系统,是一个可以进行部署移动办公、运动健康、社交通信、媒体娱乐等各种场景应用的操作系统。HarmonyOS具有硬件互助、资源共享,一次开发、多端部署,以及统一OS(操作系统)、弹性部署等诸多优点,势必成为万物互联时代的新宠。
目前,基于HarmonyOS开发的SDK(软件开发工具包)已经发布到15版本,并还在不断完善。华为公司在更新SDK的同时,也在不断完善相关的开发工具链,包括集成开发环境、模拟器、预览器等,以期为开发者提供功能更加强大、体验更加友好的开发支持。
本书系统阐述HarmonyOS移动应用开发的相关技术,并附有丰富的案例,可以帮助开发者掌握HarmonyOS移动应用开发技术,快速进入HarmonyOS移动应用开发领域。
本书中的程序实现是基于HarmonyOS 5版本的,语言采用了ArkTS。ArkTS是基于TypeScript语言的,而TypeScript语言又是JavaScript语言的超集。
本书主要内容
第1章概述,主要介绍什么是HarmonyOS,HarmonyOS的特性、体系架构、支持的开发语言等,在应用开发方面,HarmonyOS支持多种开发语言。
第2章介绍第1个HarmonyOS应用,通过搭建开发环境、利用向导开发了第1个基于ArkTS的HarmonyOS应用,介绍HarmonyOS应用的项目结构、资源和配置等。
第3章介绍ArkTS语言基础,简明扼要地介绍ArkTS语言的基本内容,包括基本类型和运算符、控制语句与函数、类和接口、泛型、装饰器等。ArkTS是基于TypeScript的语言,开发者需要具备一定的相关基础知识。
第4章介绍ArkUI开发框架,包括声明式开发范式、基于ArkUI的项目、声明式语法等。ArkUI是基于ArkTS的用户界面(UI)开发框架,是HarmonyOS应用UI开发的主要框架。
第5章介绍组件,包括组件属性、组件事件、状态管理及系统内置的组件等。组件是构成界面的基本元素,通过各种组件可构造出丰富的界面内容。
第6章介绍布局和页面跳转。在布局方面介绍一些常用布局用法及系统内置布局简介、组件的生命周期等。布局是可以容纳组件的组件,布局和组件构成了页面,页面之间可以通过路由进行跳转,页面之间跳转可以传递参数。
第7章介绍UIAbility,包括应用中的基本概念,UIAbility的创建、生命周期、启动模式,UIAbility和Page的关系及数据通信,UIAbility间的交互等。
第8章介绍ExtensionAbility和Worker。ExtensionAbility包括多种类型,不同的类型用于开发特定场景应用,各种场景使用的方法不尽相同,但开发方法类似。Worker是HarmonyOS应用开发中实现多线程的一种方式,通过Worker可以实现后台长时任务运行。
第9章介绍数据存储,包括首选项数据存储、关系型数据存储、键值型数据存储和分布式数据服务。数据存储是为HarmonyOS应用提供数据持久化,分布式数据服务使数据可以透明地存在于多台设备上,使应用的数据能够轻松地实现跨设备数据同步和共享。
第10章介绍公共事件和通知,包括公共事件的概念、公共事件的处理接口及使用方法、通知的概念及使用方法。
第11章介绍多媒体开发相关技术,包括图像处理、音频播放、视频播放等,通过对多媒体数据的处理,可以使开发的应用更加丰富多彩。
第12章介绍AI能力开发,包括基础语音AI能力、基础视觉AI能力、MindSpore Lite框架使用等。HarmonyOS原生智能提供了基本的AI开发能力。
第13章介绍网络访问,包括Socket、WebSocket和HTTP方式。HarmonyOS应用可以通过网络访问互联网上的服务和数据,打造互联网应用。
第14章介绍一个天气查询的综合应用实例,通过综合运用相关技术,呈现一个完整的HarmonyOS移动应用开发方法和过程。
第15章介绍应用在真机上运行的方法及应用在AGC发布上架的基本过程。
本书第1、第2、第6、第7、第9、第12、第15章由刘安战(中原工学院)撰写,第3、第11、第14章由余雨萍(中原工学院)撰写,第4、第5章由陈争艳(河南财政金融学院)撰写,第8章由刘卫光(中原工学院)撰写,第10章由张玉莹(中原工学院)撰写,第13章由马超凡(中原工学院)撰写,本书最后由刘安战进行了通篇审阅、修改和定稿。
阅读建议
本书是一本HarmonyOS移动应用开发的入门书籍,但是由于技术的依赖性,学习本书需要具备一定的软件开发基础。
学习本书希望读者具备一定的JavaScript和JSON基础,具备一定的高级语言软件开发基础。大学计算机或软件相关专业的高年级学生一般具备学习本书的能力。如果读者具有移动应用开发的相关经验,则学习本书会更加轻松和快捷。
本书配套资源
素材(源码)等资源: 扫描目录上方的二维码下载。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。
在线习题: 扫描封底的作业系统二维码,再扫描书中的习题二维码,可以在线做题及查看答案。
致谢
首先感谢家人的支持,否则作者可能无法完成本书。
感谢团队成员,是大家的通力合作和帮助才使我们能够完成本书。感谢工作单位的领导和相关老师的支持和帮助。
感谢学生张兴宇、李永泰、于磊等参与代码调试、资源整理等工作。
感谢华为公司的陶铭、谭景盟、陈剑、王玉等在成书过程中的支持与帮助,同时感谢华为公司一大批优秀的工程师,如果没有他们的努力恐怕就不会有OpenHarmony和HarmonyOS的蓬勃发展。在成书过程中,我们参考了官网提供的在线官方技术文档和相关示例。
感谢来自业内的多位同人在成书过程中的支持和帮助。感谢HarmonyOS相关的技术社区提供学习和交流平台,包括华为开发者社区、51CTO鸿蒙开发者社区、坚果派等。
感谢清华大学出版社工作人员的辛勤工作,特别感谢赵佳霓编辑在从选题策划到图书出版的过程中付出的辛勤努力。
刘安战
2025年8月
