前言 在笔者创作本书期间,华为公司官方公布自有终端设备及第三方生态合作伙伴终端设备已经超过3.2亿台次升级为HarmonyOS。HarmonyOS已成为全球第三大智能终端操作系统。华为公司官方公布规划2022年HarmonyOS升级终端设备数为5亿~8亿台,2023年升级目标数是20亿台。我们通过观察互联网时代的计算机网站往移动互联网时期的手机App的迁移过程就可以发现,应用软件服务的变革往往是从操作系统、设备的不断发展创新开始的。那么基于HarmonyOS万物互联智慧时代的应用软件服务表现形式是怎样的呢? HarmonyOS现在除了支持传统的需要安装的App外,还支持一种全新的应用软件服务形态,即原子化服务与服务卡片; 原子化服务与服务卡片具有免安装、多设备流转、支持超级终端、更智能地交互、更便捷地分享等特征。笔者认为,基于HarmonyOS的原子化服务与服务卡片代表着未来应用软件服务发展的新趋势。 笔者及公司团队,比较早地接触了HarmonyOS、原子化服务与服务卡片的技术开发工作。笔者创作本书时的原子化服务与服务卡片,主要支持JS、Java、eTS这三种语言进行开发,笔者及团队在一年左右的时间里学习、练习了这3种语言的100个以上的HarmonyOS应用服务组件的开发,并逐步通过模板、组件、功能组合形成多种类型的HarmonyOS应用服务Demo; 在华为HarmonyOS官方原子化服务与服务卡片正式开放上架运营时,我们又比较早地参与了测试、开发等工作。在创作本书时笔者及团队已经策划、开发、上架了多个原子化服务与服务卡片。 鉴于HarmonyOS原子化服务与服务卡片应用服务形态目前仍处于初期发展阶段,我们将自身学习体验的开发、策划、设计、上架、运营等经验整理为书籍进行分享,希望能帮助更多的开发者参与进来,共同促进鸿蒙生态的发展; 同时,通过写作本书,笔者及团队查阅了大量的资料和系统整理了我们的知识与技能,也为笔者及团队后续的技术发展打下了更加坚实的基础。 本书主要内容 本书主要阐述HarmonyOS应用开发中全新的服务形式,以及原子化服务与服务卡片技术发展的必然趋势、运行的基本概念、原理与实战开发练习。 本书分为三篇,基础原理篇、成长提高篇与案例实战篇,每篇又分为3章。 第一篇基础原理篇为本书的第1~3章。分别是概述、开发环境和快速入门、HarmonyOS应用基础与原理。 第1章主要分析了HarmonyOS与HarmonyOS应用、原子化服务与服务卡片的基本概念与关系; 开发者积极参与的价值和意义; 用开发案例对与本书技术开发相关的创作方式进行了展示说明。 第2章的内容主要包括HUAWEI DevEco Studio整体介绍、安装、使用入门、多设备开发练习; 让开发者快速熟悉工具、上手原子化服务与服务卡片实战开发,获得直观的体验。 第3章主要讲解HarmonyOS应用开发的基础知识与原理,原子化服务与服务卡片技术开发的总体要求、运行原理与基础知识。 第二篇成长提高篇为本书的第4~6章。分别是常用模板开发练习、常用组件布局开发、业务功能与数据管理开发。 第4章主要基于HUAWEI DevEco Studio中自带的模板进行汇总和实战练习。笔者认为通过直接使用模板或者在其基础上根据开发者需要的场景进行创新与二次开发是最为快速和便捷的学习方式。 第5章主要是对HarmonyOS原子化服务与服务卡片在开发过程中可以使用的各项组件与布局进行汇总与练习。通过使用组件的练习方式,可以快速地让开发者上手并看到成效。我们创作了部分组件案例,读者可以直接引用。 第6章主要介绍原子化服务与服务卡片的功能开发过程,包括卡片的流转开发、华为及畅连分享接入和平行视界的开发、引用封装好的API和三方组件的开发、OpenHarmony的应用、原子化服务与服务卡片开发简述等内容。 第三篇案例实战篇为本书的第7~9章,分别是设计与UX相关、案例实战开发练习、编译测试与上架申请。 第7章主要阐述设计与UX (User eXperience)用户体验的内容。 第8章用笔者及团队已经开发成功并上架和正在开发中的部分实际项目案例,对前面各章节阐述的各项知识与技能进行了汇总演示,供读者参照练习。 第9章主要阐述原子化服务与服务卡片代码包及相关资源的编译构建方式与申请上架流程。 阅读建议 笔者认为基于HarmonyOS应用服务的开发者分为狭义与广义两种类型; 狭义开发者可定义为直接和程序创作相关的开发者。广义开发者则包括了和HarmonyOS应用服务诞生相关的决策、策划、设计、开发、测试、运营、投资甚至与体验者相关的全部参与者。其中狭义开发者一定是广义的开发者,但广义的开发者并不一定是狭义的开发者。整体上分析,一个优秀的软件应用、原子化服务与服务卡片需要团队配合协作才能很好地完成和运行。 本书创作主要使用了JS、Java、eTS三种开发语言。直接从事代码开发相关的读者,至少需要具备这三种开发语言中的一种入门级基础知识才能很好地阅读、理解与练习。本书的第2、3、4、5、6、8章都是和代码写作直接相关的内容。其中第3章的阐述以技术开发相关的基本概念、知识、原理为主,该章的大部分内容已经在HarmonyOS和开发工具中自带、自动生成和设置好了,并且在其他各章的学习练习中都有实际应用,所以建议读者采用快速阅览的模式初读,等学习了其他与实战相关的章节后,再去精读其中所需要的内容会更容易理解和吸收。和代码开发直接相关的内容围绕着开发工具快速入门的感性体验,开发相关的基本概念、知识、原理讲解,模板练习、组件布局实战练习,各项功能与数据管理的开发,项目案例实战分享的线路展开,便于读者循序渐进,有步骤、有计划地进行阅读理解与练习。 本书第1章对宏观背景与必然趋势进行分析; 第7章主要阐述与设计和UX相关的内容,因为只有UX符合HarmonyOS官方基本的规范要求,该原子化服务与服务卡片才能上架运行; 第9章为编译和上架申请流程。这3章内容不仅适合狭义开发者阅读与学习,也适合广义开发者阅读。 由于笔者及团队知识经验的不足,HarmonyOS及其应用、原子化服务与服务卡片等相关技术内容的快速发展,本书的内容一定有不足和不完善的地方,欢迎批评指正。 本书源代码 扫描下方二维码,可获取本书源代码: 源代码下载 致谢 感谢清华大学出版社赵佳霓编辑的邀请、耐心细致的指导与鸿蒙生态的开放、发展,让笔者有机会创作本书。感谢华为周清城、潘怡、钟海林、韦桂新、郭奇鑫、刘果、欧建深、秦杰、于小飞、张伟等对笔者及公司团队在HarmonyOS、原子化服务与服务卡片项目开发中的各项指导与支持。感谢笔者所在公司深圳市蛟龙腾飞网络科技有限公司原子化服务与服务卡片创作团队成员郭浩、张龙海、尹皎洁、田秦鲁、覃庆缘、舒映、李成、李江、韦惠飘、颜学盟、余国强、董会义、张术清等在笔者创作过程中对案例资料收集整理、策划设计、创意呈现、技术开发实践汇总、测试上架申请、升级操作经验总结等各方面的支持。感谢周仕斌、周毓捷、黄林淼、郑高叠、何媚媚、李亚明、侯鹏飞等好友在本书创作过程中提供的各项帮助,感谢积极参与并为本书提供案例的客户。感谢51CTO、电子发烧友、华为开发者联盟HarmonyOS社区的各项支持和鼓励。 感谢我的妻子尹皎洁及两个孩子李尹靖婷、李尹靖轩的支持,感谢本书创作期间弟弟、妹妹们及其家庭对父母、岳父岳母的照顾,因为在书籍创作过程中,笔者关心家庭的精力少了很多。 李洋2022年8月于深圳