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