鸿蒙操作系统应用开发实践
上QQ阅读APP看书,第一时间看更新

前言
PREFACE

HarmonyOS自2018年对外流出相关的设计概念以来,就引起了广泛关注,它被认为是国产新一代操作系统的希望,是一款“面向未来”、面向全场景的分布式操作系统。2019年8月,华为在开发者大会上正式发布HarmonyOS,它提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。2020年9月,华为在开发者大会上发布了HarmonyOS 2.0,推出应用开发者Beta版本,并在同年12月推出了手机开发者Beta版。自此,开发者可以在鸿蒙的开发环境上开发和调试多个不同终端的应用,整体开发环境和SDK支持也初步成熟。

作为最早一批鸿蒙应用开发者,我们在2020年6月就投身于鸿蒙的相关工作并且参与了包括2020年9月10日发布会上最早展示的鸿蒙Demo应用的相关开发工作。之后我们有意识地对鸿蒙的应用开发知识进行梳理,希望能在鸿蒙系统到来之际为广大感兴趣的开发者提供一套较为系统且全面的鸿蒙开发讲解图书。除了本书的内容之外,针对鸿蒙的应用生态,我们还将安卓平台上二十余款非常受欢迎的组件移植到了鸿蒙平台供广大开发者使用,相关的源码已经开源到Gitee上。进一步地,我们也在多个社区平台上基于这些自己开源的源码进行讲解分析,让读者更好地去使用和学习。

在本书编写时,HarmonyOS的北向应用开发能力刚刚问世,系统还未完全成熟,处于快速更新迭代的状态,因此本书内容的广度和深度有限,仅涉及HarmonyOS应用开发中的一些基础核心功能。且在编写过程中,由于HarmonyOS的多次更新迭代,本书的代码也经历了多次测试和更改,因此读者在学习过程中也难免会碰到大大小小的问题,还望读者见谅,也欢迎随时联系我们反馈问题。

读者对象

本书非常适合初学者入门,不仅涵盖了鸿蒙大部分的能力特性,还在此基础上对鸿蒙应用开发所用到的Java及JavaScript语言进行了简要的讲解,帮助对这两类语言还不熟悉的开发者能在学习鸿蒙开发之前对鸿蒙所使用的开发语言有更清晰的认知。在内容讲解上,针对代码部分也采用循序渐进的方式进行讲解,保证读者能够根据提供的代码一步步掌握书里的知识点,并且提供了直观的运行效果参考。

本书组织结构

本书针对HarmonyOS SDK 4(Java 2.1.0.5, JavaScript 2.1.0.5)版本,对鸿蒙操作系统的应用开发基础进行了梳理和介绍。同时,也构建了一个在分布式场景非常常用的视频流直播实例作为实战的内容演练,进行了详细分析和讲解。其各章的主要内容如下:

第1章对HarmonyOS进行了综合介绍,总体涵盖了鸿蒙操作系统的系统特性、系统架构及开发环境,指导构建鸿蒙上的Hello World项目,并由此对鸿蒙项目结构、文件及日志管理工具进行讲解。

第2章在介绍HarmonyOS的Java开发内容之前,从Java语言基础、Java的类和对象及继承等多个在Java开发中必备的知识点进行简要介绍,保障读者能更好地切入和理解后续的学习内容。

第3章对鸿蒙的Java UI的常用组件、容器及动画进行了覆盖性讲解,让开发者基本了解和学习到Java UI的开发模式。

第4章在介绍HarmonyOS的JavaScript开发内容之前,从JavaScript简介、开发环境、核心语法及在HarmonyOS中针对Java和JavaScript的比较对JavaScript开发中必备的知识点进行了简要介绍,保障读者能更好地切入和理解后续的学习内容。

第5章对鸿蒙的JavaScript UI的开发框架、布局、组件、交互及动画进行了覆盖性讲解,让开发者基本了解和学习到Java UI的开发模式。

第6章从用户界面的构建及HarmonyOS所提供的基本功能、系统能力上简要讲解了鸿蒙轻量级智能穿戴设备的开发。

第7章讲解HarmonyOS中非常重要的Ability概念,详细地从Page Ability、线程及Service Ability 3个点入手介绍HarmonyOS应用所具备能力。

第8章从本地应用数据管理、分布式服务及Data Ability 3个点切入,详细介绍了HarmonyOS的数据管理能力及实现方法。

第9章从图像、音视频、相机3个多媒体常用的能力上切入,对HarmonyOS的多媒体能力和实现方法进行了详细介绍。

第10章详细讲解了HarmonyOS的组件及其使用方法,并且以实际开源的组件项目为例进行实践介绍。

第11章以分布式应用中非常重要的直播场景为目标,综合性地指导和讲解如何构建应用让两部HarmonyOS手机实现视频流直播的能力。

版本信息

HarmonyOS本身也在不断地迭代演化之中,其SDK和IDE随着版本的更新,API及应用开发特性也在不断地更新丰富。本书选取撰写时发布的HarmonyOS SDK 4(Java 2.1.0.5, JavaScript 2.1.0.5)版本进行代码梳理和讲解,IDE版本为DevEco Studio 2.0 Beta3,但是依然可能会出现本书代码与实际代码不同的情况,在这种情况下读者可以跟踪最新代码并获取最新信息。

致谢

在本书的撰写过程中,有非常多的人为我们提供了帮助,在此对诸位表达真挚的感谢。首先,感谢华为各位同事,为我们提供了一些技术上的支持和帮助。也感谢中国科学院软件研究所智能软件研究中心的罗天悦、杨牧天老师为本书提供的大力支持。特别感谢组内的小伙伴吴圣垚和马卞,大力参与本书撰写及配套资源的筹备,还有陈丛笑、戴研、刘雨琦、朱伟、熊轶翔、蒋筱斌、吕泽、邵妍洁等同学,协助完成书中内容及代码的测试验证。最后感谢清华大学出版社的赵佳霓编辑,在写作和出版过程中为我们提供的帮助。再次感谢大家!

编 者

2021年3月

说明:文中需扫码阅读的请扫此付费二维码。