書名: 鴻蒙操作系統(tǒng)應(yīng)用開發(fā)實(shí)踐作者名: 陳美汝 鄭森文等本章字?jǐn)?shù): 1938字更新時(shí)間: 2022-07-28 19:33:51
前言
PREFACE
HarmonyOS自2018年對(duì)外流出相關(guān)的設(shè)計(jì)概念以來,就引起了廣泛關(guān)注,它被認(rèn)為是國產(chǎn)新一代操作系統(tǒng)的希望,是一款“面向未來”、面向全場景的分布式操作系統(tǒng)。2019年8月,華為在開發(fā)者大會(huì)上正式發(fā)布HarmonyOS,它提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念,能夠支持多種終端設(shè)備。2020年9月,華為在開發(fā)者大會(huì)上發(fā)布了HarmonyOS 2.0,推出應(yīng)用開發(fā)者Beta版本,并在同年12月推出了手機(jī)開發(fā)者Beta版。自此,開發(fā)者可以在鴻蒙的開發(fā)環(huán)境上開發(fā)和調(diào)試多個(gè)不同終端的應(yīng)用,整體開發(fā)環(huán)境和SDK支持也初步成熟。
作為最早一批鴻蒙應(yīng)用開發(fā)者,我們?cè)?020年6月就投身于鴻蒙的相關(guān)工作并且參與了包括2020年9月10日發(fā)布會(huì)上最早展示的鴻蒙Demo應(yīng)用的相關(guān)開發(fā)工作。之后我們有意識(shí)地對(duì)鴻蒙的應(yīng)用開發(fā)知識(shí)進(jìn)行梳理,希望能在鴻蒙系統(tǒng)到來之際為廣大感興趣的開發(fā)者提供一套較為系統(tǒng)且全面的鴻蒙開發(fā)講解圖書。除了本書的內(nèi)容之外,針對(duì)鴻蒙的應(yīng)用生態(tài),我們還將安卓平臺(tái)上二十余款非常受歡迎的組件移植到了鴻蒙平臺(tái)供廣大開發(fā)者使用,相關(guān)的源碼已經(jīng)開源到Gitee上。進(jìn)一步地,我們也在多個(gè)社區(qū)平臺(tái)上基于這些自己開源的源碼進(jìn)行講解分析,讓讀者更好地去使用和學(xué)習(xí)。
在本書編寫時(shí),HarmonyOS的北向應(yīng)用開發(fā)能力剛剛問世,系統(tǒng)還未完全成熟,處于快速更新迭代的狀態(tài),因此本書內(nèi)容的廣度和深度有限,僅涉及HarmonyOS應(yīng)用開發(fā)中的一些基礎(chǔ)核心功能。且在編寫過程中,由于HarmonyOS的多次更新迭代,本書的代碼也經(jīng)歷了多次測試和更改,因此讀者在學(xué)習(xí)過程中也難免會(huì)碰到大大小小的問題,還望讀者見諒,也歡迎隨時(shí)聯(lián)系我們反饋問題。
讀者對(duì)象
本書非常適合初學(xué)者入門,不僅涵蓋了鴻蒙大部分的能力特性,還在此基礎(chǔ)上對(duì)鴻蒙應(yīng)用開發(fā)所用到的Java及JavaScript語言進(jìn)行了簡要的講解,幫助對(duì)這兩類語言還不熟悉的開發(fā)者能在學(xué)習(xí)鴻蒙開發(fā)之前對(duì)鴻蒙所使用的開發(fā)語言有更清晰的認(rèn)知。在內(nèi)容講解上,針對(duì)代碼部分也采用循序漸進(jìn)的方式進(jìn)行講解,保證讀者能夠根據(jù)提供的代碼一步步掌握書里的知識(shí)點(diǎn),并且提供了直觀的運(yùn)行效果參考。
本書組織結(jié)構(gòu)
本書針對(duì)HarmonyOS SDK 4(Java 2.1.0.5, JavaScript 2.1.0.5)版本,對(duì)鴻蒙操作系統(tǒng)的應(yīng)用開發(fā)基礎(chǔ)進(jìn)行了梳理和介紹。同時(shí),也構(gòu)建了一個(gè)在分布式場景非常常用的視頻流直播實(shí)例作為實(shí)戰(zhàn)的內(nèi)容演練,進(jìn)行了詳細(xì)分析和講解。其各章的主要內(nèi)容如下:
第1章對(duì)HarmonyOS進(jìn)行了綜合介紹,總體涵蓋了鴻蒙操作系統(tǒng)的系統(tǒng)特性、系統(tǒng)架構(gòu)及開發(fā)環(huán)境,指導(dǎo)構(gòu)建鴻蒙上的Hello World項(xiàng)目,并由此對(duì)鴻蒙項(xiàng)目結(jié)構(gòu)、文件及日志管理工具進(jìn)行講解。
第2章在介紹HarmonyOS的Java開發(fā)內(nèi)容之前,從Java語言基礎(chǔ)、Java的類和對(duì)象及繼承等多個(gè)在Java開發(fā)中必備的知識(shí)點(diǎn)進(jìn)行簡要介紹,保障讀者能更好地切入和理解后續(xù)的學(xué)習(xí)內(nèi)容。
第3章對(duì)鴻蒙的Java UI的常用組件、容器及動(dòng)畫進(jìn)行了覆蓋性講解,讓開發(fā)者基本了解和學(xué)習(xí)到Java UI的開發(fā)模式。
第4章在介紹HarmonyOS的JavaScript開發(fā)內(nèi)容之前,從JavaScript簡介、開發(fā)環(huán)境、核心語法及在HarmonyOS中針對(duì)Java和JavaScript的比較對(duì)JavaScript開發(fā)中必備的知識(shí)點(diǎn)進(jìn)行了簡要介紹,保障讀者能更好地切入和理解后續(xù)的學(xué)習(xí)內(nèi)容。
第5章對(duì)鴻蒙的JavaScript UI的開發(fā)框架、布局、組件、交互及動(dòng)畫進(jìn)行了覆蓋性講解,讓開發(fā)者基本了解和學(xué)習(xí)到Java UI的開發(fā)模式。
第6章從用戶界面的構(gòu)建及HarmonyOS所提供的基本功能、系統(tǒng)能力上簡要講解了鴻蒙輕量級(jí)智能穿戴設(shè)備的開發(fā)。
第7章講解HarmonyOS中非常重要的Ability概念,詳細(xì)地從Page Ability、線程及Service Ability 3個(gè)點(diǎn)入手介紹HarmonyOS應(yīng)用所具備能力。
第8章從本地應(yīng)用數(shù)據(jù)管理、分布式服務(wù)及Data Ability 3個(gè)點(diǎn)切入,詳細(xì)介紹了HarmonyOS的數(shù)據(jù)管理能力及實(shí)現(xiàn)方法。
第9章從圖像、音視頻、相機(jī)3個(gè)多媒體常用的能力上切入,對(duì)HarmonyOS的多媒體能力和實(shí)現(xiàn)方法進(jìn)行了詳細(xì)介紹。
第10章詳細(xì)講解了HarmonyOS的組件及其使用方法,并且以實(shí)際開源的組件項(xiàng)目為例進(jìn)行實(shí)踐介紹。
第11章以分布式應(yīng)用中非常重要的直播場景為目標(biāo),綜合性地指導(dǎo)和講解如何構(gòu)建應(yīng)用讓兩部HarmonyOS手機(jī)實(shí)現(xiàn)視頻流直播的能力。
版本信息
HarmonyOS本身也在不斷地迭代演化之中,其SDK和IDE隨著版本的更新,API及應(yīng)用開發(fā)特性也在不斷地更新豐富。本書選取撰寫時(shí)發(fā)布的HarmonyOS SDK 4(Java 2.1.0.5, JavaScript 2.1.0.5)版本進(jìn)行代碼梳理和講解,IDE版本為DevEco Studio 2.0 Beta3,但是依然可能會(huì)出現(xiàn)本書代碼與實(shí)際代碼不同的情況,在這種情況下讀者可以跟蹤最新代碼并獲取最新信息。
致謝
在本書的撰寫過程中,有非常多的人為我們提供了幫助,在此對(duì)諸位表達(dá)真摯的感謝。首先,感謝華為各位同事,為我們提供了一些技術(shù)上的支持和幫助。也感謝中國科學(xué)院軟件研究所智能軟件研究中心的羅天悅、楊牧天老師為本書提供的大力支持。特別感謝組內(nèi)的小伙伴吳圣垚和馬卞,大力參與本書撰寫及配套資源的籌備,還有陳叢笑、戴研、劉雨琦、朱偉、熊軼翔、蔣筱斌、呂澤、邵妍潔等同學(xué),協(xié)助完成書中內(nèi)容及代碼的測試驗(yàn)證。最后感謝清華大學(xué)出版社的趙佳霓編輯,在寫作和出版過程中為我們提供的幫助。再次感謝大家!
編 者
2021年3月

說明:文中需掃碼閱讀的請(qǐng)掃此付費(fèi)二維碼。
- Social Media Mining with R
- Getting Started with oVirt 3.3
- Mobile-first Bootstrap
- Windows Vista融會(huì)貫通
- 移動(dòng)應(yīng)用UI設(shè)計(jì)模式(第2版)
- Linux系統(tǒng)安全基礎(chǔ):二進(jìn)制代碼安全性分析基礎(chǔ)與實(shí)踐
- Linux使用和管理指南:從云原生到可觀測性
- Android物聯(lián)網(wǎng)開發(fā)細(xì)致入門與最佳實(shí)踐
- AutoCAD 2014中文版從入門到精通
- OpenStack系統(tǒng)架構(gòu)設(shè)計(jì)實(shí)戰(zhàn)
- Advanced TypeScript Programming Projects
- 操作系統(tǒng)分析
- Linux服務(wù)器配置與管理
- Windows 8實(shí)戰(zhàn)從入門到精通(超值版)
- Hands-On GPU Programming with Python and CUDA