精通HarmonyOS NEXT :鴻蒙App開發(fā)入門與項目化實戰(zhàn) 劉俊啟 鴻蒙 HarmonyOS Harmony A
定 價:139 元
當前圖書已被 4 所學校薦購過!
查看明細
- 作者:劉俊啟
- 出版時間:2025/9/1
- ISBN:9787111787785
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TN929.53
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
這是一本以App產(chǎn)品開發(fā)全流程為主線、詳細解讀HarmonyOS NEXT基礎知識和核心技術,并融入作者20年App開發(fā)經(jīng)驗的一線開發(fā)指導手冊,書中還提供了一個可復用的大型綜合性案例。作者是我國App開發(fā)領域的先行者,曾在百度負責多個App的技術架構構建,在2023年轉(zhuǎn)戰(zhàn)HarmonyOS NEXT開發(fā),并基于HarmonyOS NEXT成功構建一個大型App,現(xiàn)已上架華為應用商店。本書呈現(xiàn)的就是作者從零學習HarmonyOS NEXT,并開發(fā)個人App的完整過程。 本書分為3篇,包括16章: 基礎篇(第1~3章)用簡潔明了的方式解讀了HarmonyOS的基本概念、特性與價值,還介紹了開發(fā)環(huán)境配置與IDE使用。這部分是必須掌握的基礎知識,也是后續(xù)開發(fā)應用的基礎。 高級篇(第4~14章)以開發(fā)App為目標,對ArkTS語言、App框架、ArkUI框架、UI布局及交互、數(shù)據(jù)持久化、基礎能力、網(wǎng)絡通信、網(wǎng)頁瀏覽、多媒體使用、安全管理、Module化及復用等多個核心技術進行深入解讀。這部分不僅包含HarmonyOS NEXT前沿技術,還包括作者20年App開發(fā)經(jīng)驗。 項目實踐篇(第15章和第16章)聚焦 App在華為應用商店的發(fā)布與管理,以一個完整的項目產(chǎn)品化過程為實例,將書中所講知識融為一體并落地實踐。這部分的目的是幫助打造功能完備、架構完整的應用,深刻理解HarmonyOS上的App開發(fā)方法。
你可以不用HarmonyOS,但是你不可以不懂HarmonyOS!雖然HarmonyOS的用戶量還沒有達到Android的級別,但是作為全球第三大操作系統(tǒng)的它的發(fā)展前景不可限量,尤其是在國產(chǎn)化的大背景下。即便你不是HarmonyOS相關的開發(fā)者,提前了解、學習,就等于贏在了起跑線。 如果你已經(jīng)是或者即將成為HarmonyOS相關的開發(fā)者,那本書必將成為你的工具。僅通過這一本書,就可以讓你零基礎入門并快速成為HarmonyOS領域的高手。
前 言為什么要寫本書在2023年的華為開發(fā)者大會(HDC)上,華為正式推出HarmonyOS NEXT開發(fā)者預覽版,之后我所在的團隊(百度App搜索方向)成立了學習調(diào)研小組,作為其中的一員,我開啟了HarmonyOS NEXT的學習之旅。經(jīng)過一段時間的學習和實踐,我深切體會到使用HarmonyOS開發(fā)App時的顯著優(yōu)勢。例如:擁有豐富API,可助開發(fā)者快速實現(xiàn)各類功能;支持跨平臺,能一次開發(fā)、多端部署,適配不同設備;生態(tài)環(huán)境開放,開發(fā)者可交流合作,共享資源;提供從設計、研發(fā)到發(fā)布的一體化工具鏈,使企業(yè)及個人開發(fā)者實現(xiàn)高效率開發(fā)。最值得一提的是,HarmonyOS NEXT是完全自研的操作系統(tǒng)。這體現(xiàn)了華為強大的技術實力和自主創(chuàng)新能力。自研的操作系統(tǒng)意味著開發(fā)者可以深入了解系統(tǒng)的底層架構,進行更優(yōu)化的開發(fā),充分發(fā)揮系統(tǒng)的性能優(yōu)勢。同時,自研的操作系統(tǒng)能更好地保障國家的信息安全和技術主權,為我國的科技發(fā)展注入強大動力,這也是操作系統(tǒng)級軟件的發(fā)展趨勢。2024年我從無到有,設計及實現(xiàn)了一款在HarmonyOS NEXT中運行的App,并在華為應用商店成功將其上架。在這個過程中,我遇到了諸多問題,通過不斷地與華為開發(fā)者支持團隊進行溝通和確認,最終得到有效的方案。因此,我決定寫一本書,將我近二十年的App研發(fā)經(jīng)驗及在HarmonyOS中的實踐分享給大家。讀者對象本書以實踐為主,重點介紹HarmonyOS NEXT的App研發(fā)的基礎知識。無論你是獨立開發(fā)者還是企業(yè)中的研發(fā)人員,無論你要研發(fā)超級App還是普通App,本書都將為你提供有價值的知識和實用的指導。本書特別適合以下人員閱讀。新手開發(fā)者:剛剛接觸鴻蒙開發(fā)領域,對HarmonyOS NEXT充滿好奇,但缺乏相關知識和實踐經(jīng)驗。本書可以作為入門指南,幫助新手開發(fā)者了解HarmonyOS NEXT的基本概念、開發(fā)環(huán)境的搭建、開發(fā)工具的使用等基礎知識,為進一步實踐打下堅實基礎。有經(jīng)驗的移動開發(fā)者:熟悉Android或iOS開發(fā),想要拓展自己的技術棧,并進入鴻蒙開發(fā)領域。本書可以幫助有經(jīng)驗的移動開發(fā)者快速掌握HarmonyOS NEXT的特有開發(fā)技術,實現(xiàn)從其他開發(fā)領域到鴻蒙開發(fā)領域的平滑過渡。行業(yè)從業(yè)者:對行業(yè)從業(yè)者而言,本書是基于HarmonyOS NEXT的App研發(fā)的實用寶典。本書全面涵蓋了HarmonyOS NEXT的App研發(fā)所需的各項關鍵內(nèi)容,從基礎的開發(fā)環(huán)境配置,到App框架及生命周期管理,再到基本API的使用方法,均有細致入微的講解。此外,本書還聚焦App上架環(huán)節(jié),詳細介紹了上架過程中所需的配置要點,并且以實際項目為載體,深入剖析可上架App應遵循的完整流程與規(guī)范,以助力開發(fā)者順利將自己的App推向市場。本書特色我擁有多年移動研發(fā)經(jīng)驗,曾負責過多款重量級App的研發(fā)工作,具備在HarmonyOS NEXT中從0到1構建App并成功上架的實戰(zhàn)經(jīng)驗。我將這些經(jīng)驗全部融入本書中,以下是本書的主要特色。產(chǎn)研思維:揭秘App從0到1的秘訣,涵蓋關鍵技術、流程和標準。在技術方面,講解實用開發(fā)工具與方法;在流程方面,明晰從構思到上線的具體操作;在標準方面,闡明功能、性能、安全等要求,助力讀者打造可上架的App。實踐導向:圍繞基礎App的構建來編排內(nèi)容,讓讀者在實踐中掌握知識。除了在講解每項技術時進行實踐外,最后還通過單獨的一章以一個完整的App作為示例進行講解。實例支撐:各個內(nèi)容節(jié)點均配有實例,且在HarmonyOS NEXT(API 12)開發(fā)環(huán)境下成功運行,增強了實操性。模塊獨立:實例之間相互獨立,可直接復用,方便讀者靈活運用。內(nèi)容完整:介紹、實現(xiàn)過程以及最終效果的呈現(xiàn)很完整,便于隨時學習。本書內(nèi)容本書共16章,分為三篇;A篇(第1~3章)簡要介紹HarmonyOS的基本概念、開發(fā)環(huán)境配置及DevEco Studio使用指南,幫助讀者了解基礎知識,為學習后續(xù)內(nèi)容做鋪墊。高級篇(第4~14章)根據(jù)構建一個App的基本需要,圍繞ArkTS語言基礎、App框架、ArkUI框架、UI布局及交互、數(shù)據(jù)持久化、基礎能力、網(wǎng)絡通信、網(wǎng)頁瀏覽、多媒體使用、安全管理、Module化及復用,著重講解構建App的基礎技術及其在HarmonyOS NEXT中的實踐。項目實踐篇(第15章和第16章)重點介紹如何在華為應用市場中發(fā)布及管理App,以一個項目產(chǎn)品化的過程作為實踐,將前兩篇介紹的知識加以整合運用,打造一個功能完備、架構完整的項目。通過實際的項目構建過程,幫助讀者深入理解各個知識點在鴻蒙App開發(fā)實踐中的作用與具體實現(xiàn)。如果你之前有過HarmonyOS的研發(fā)經(jīng)驗,可以直接從高級篇開始閱讀。但如果你是初學者或者僅有iOS或Android平臺的研發(fā)經(jīng)驗,請一定從基礎篇開始學習。獲取本書配套源碼在微信中搜索公眾號“創(chuàng)心思考”,關注后回復“NEXT源碼”即可獲取本書源碼下載地址。致謝首先,感謝百度這個平臺,百度的良好技術氛圍,使我得以較早地接觸HarmonyOS NEXT的研發(fā)。其次,我要向華為在線工單處理團隊、上線服務助手團隊以及商務合作團隊致以最誠摯的謝意。正是這些團隊的專業(yè)支持與積極配合,使得本書內(nèi)容更加豐富翔實、精準可靠,這為本書增添了不可或缺的價值。最后,衷心感謝我的妻子和女兒在我寫書期間對我的理解與支持。她們一直站在我身后,給了我繼續(xù)下去的動力。
劉俊啟鴻蒙原生應用開發(fā)者、前百度資深研發(fā)工程師、百度App架構師、百度OC&Swift編碼委員會主席、騰訊研發(fā)工程師。國內(nèi)早期移動App研發(fā)人員,2005年入職盛大?數(shù)位紅,參與Game-V(中國第一個無線游戲娛樂運營平臺)的研發(fā)(NOKIA S60平臺)。之后,作為初創(chuàng)團隊成員,負責多款S60平臺的App研發(fā)。2009年轉(zhuǎn)戰(zhàn)iOS平臺,推進公司產(chǎn)品技術棧向iOS平臺遷移。2010年入職百度,先后負責構建百度搜索App、百度語音SDK、百度語音助手App、百度瀏覽器App、Watch版百度App等多個產(chǎn)品的技術架構。多次負責掌上百度(百度App)技術架構的實現(xiàn)及升級工作。2023年轉(zhuǎn)戰(zhàn)HarmonyOS生態(tài),現(xiàn)已從無到有構建了基于HarmonyOS NEXT的App,并成功在華為應用商店上線,且通過鴻蒙原生應用開發(fā)者激勵計劃的評審。
目 錄Contents前言基 礎 篇第1章 概述 21.1 基本概念及關系 21.2 HarmonyOS的系統(tǒng)特性 31.2.1 硬件互助,資源共享 31.2.2 一次開發(fā),多端部署 61.2.3 統(tǒng)一OS,彈性部署 71.3 學習HarmonyOS研發(fā)的意義 71.3.1 系統(tǒng)可控角度 81.3.2 生態(tài)角度 81.3.3 需求角度 91.3.4 發(fā)展趨勢角度 101.3.5 收益角度 10第2章 開發(fā)環(huán)境配置 112.1 開發(fā)與上架App的主要步驟 112.2 成為開發(fā)者 122.3 安裝DevEco Studio 122.3.1 Windows環(huán)境下安裝 122.3.2 macOS環(huán)境下安裝 132.4 安裝HarmonyOS SDK 142.5 安裝模擬器 152.6 驗證開發(fā)環(huán)境 202.6.1 創(chuàng)建第一個鴻蒙App 202.6.2 工程配置 222.6.3 運行工程 232.6.4 常見問題及其解決方法 23第3章 DevEco Studio使用指南 303.1 DevEco Studio基本介紹 303.1.1 菜單區(qū)介紹 303.1.2 工具區(qū)介紹 313.1.3 工程區(qū)介紹 313.1.4 代碼編輯區(qū)介紹 323.1.5 預覽區(qū)介紹 323.1.6 通知區(qū)介紹 323.2 常用操作說明 323.2.1 文件操作 333.2.2 代碼編寫 363.2.3 運行調(diào)試 403.2.4 預覽 43高 級 篇第4章 ArkTS語言基礎 484.1 ArkTS 概述 484.1.1 ArkTS、TypeScript、JavaScript的關系 484.1.2 ArkTS 的優(yōu)點 494.1.3 ArkTS 的學習建議 494.2 基本語法 504.2.1 基本元素 504.2.2 數(shù)據(jù)類型 524.2.3 運算符 564.2.4 控制語句 564.3 函數(shù) 614.3.1 函數(shù)聲明 614.3.2 函數(shù)調(diào)用 624.3.3 可選參數(shù) 624.3.4 rest參數(shù) 624.3.5 返回類型 634.3.6 Lambda函數(shù) 634.3.7 閉包 644.3.8 函數(shù)重載 654.4 類 654.4.1 字段 664.4.2 方法 684.4.3 繼承 704.4.4 構造函數(shù) 724.4.5 可見性修飾符 734.4.6 對象字面量 744.5 接口 744.5.1 接口實現(xiàn) 754.5.2 接口繼承 754.6 空安全 764.6.1 非空斷言運算符 764.6.2 空值合并運算符 774.6.3 可選鏈 774.7 模塊 784.7.1 準備 784.7.2 模塊導出 794.7.3 模塊導入 80第5章 App框架詳解 835.1 基本概念 835.1.1 應用模型 835.1.2 Module 835.1.3 Stage模型的基本概念 855.2 創(chuàng)建示例工程 875.2.1 項目工程組成介紹 885.2.2 AbilityStage簡介 905.3 項目配置文件概述 935.3.1 App配置文件 935.3.2 Module配置文件 955.4 UIAbility及WindowStage簡介 1005.4.1 UIAbility組件生命周期 1015.4.2 WindowStage及相關事件 1025.4.3 UIAbility的啟動模式 1045.5 Context簡介 1195.5.1 獲取上下文 1195.5.2 Context的典型使用場景 1205.6 App生命周期事件概覽 1245.6.1 啟動App 1255.6.2 啟動新的UIAbility 1265.6.3 退出啟動的UIAbility 1275.6.4 退出App 128第6章 ArkUI框架詳解 1296.1 簡介 1296.1.1 ArkUI框架 1296.1.2 聲明式開發(fā)范式 1306.1.3 聲明式UI語法組成 1316.2 準備 1356.2.1 創(chuàng)建示例工程 1356.2.2 主體UI框架 1366.3 資源管理 1376.3.1 資源分類 1376.3.2 創(chuàng)建資源目錄和資源文件 1396.3.3 使用資源 1426.4 自定義組件 1456.4.1 自定義組件的分類及與頁面的關系 1456.4.2 自定義組件的基本結(jié)構 1466.4.3 build()函數(shù)執(zhí)行機制及限制規(guī)則 1496.4.4 使用自定義組件 1516.5 頁面跳轉(zhuǎn)及組件生命周期 1576.5.1 頁面路由方式實現(xiàn)頁面跳轉(zhuǎn) 1576.5.2 Navigation組件 1676.5.3 生命周期 175第7章 UI布局及交互 1817.1 準備 1817.2 基礎數(shù)據(jù)類型介紹 1817.2.1 像素 1817.2.2 Length類型 1877.3 構建布局 1877.3.1 布局結(jié)構 1877.3.2 選擇布局組件 1907.3.3 基本布局組成 1917.3.4 布局約束 1937.3.5 布局位置 1987.4 構建交互 2027.4.1 事件響應 2037.4.2 手勢處理 2127.5 狀態(tài)管理 2247.5.1 @State(組件內(nèi)狀態(tài)) 2257.5.2 @State和@Prop(父子單向同步) 2267.5.3 @State和@Link(父子雙向同步) 2287.5.4 @Provide和@Consume(多級雙向同步) 2317.6 渲染控制 2367.6.1 條件渲染語句 2377.6.2 循環(huán)渲染語句 239第8章 數(shù)據(jù)持久化 2438.1 準備 2438.1.1 創(chuàng)建示例工程 2438.1.2 主體UI框架 2438.2 首選項數(shù)據(jù)存儲 2468.2.1 約束原則 2468.2.2 接口說明 2478.2.3 開發(fā)實踐 2478.3 鍵值數(shù)據(jù)庫存儲 2528.3.1 基本概念和約束原則 2528.3.2 接口說明 2548.3.3 開發(fā)實踐 2548.4 關系數(shù)據(jù)庫存儲 2598.4.1 約束原則 2598.4.2 接口說明 2598.4.3 開發(fā)實踐 2608.5 文件讀寫 2668.5.1 基本概念 2668.5.2 接口說明 2678.5.3 開發(fā)實踐 267第9章 基礎能力 2739.1 準備 2739.1.1 創(chuàng)建示例工程 2739.1.2 主體UI框架 2739.2 剪貼板 2769.2.1 接口說明 2769.2.2 開發(fā)示例 2779.2.3 跨設備剪貼板的要求 2799.3 日志 2799.3.1 接口說明 2799.3.2 開發(fā)示例 2809.3.3 日志分析 2829.4 定時器 2889.4.1 setTimeout 2889.4.2 setInterval 2899.5 地理位置 2919.5.1 接口說明 2919.5.2 約束與限制 2919.5.3 開發(fā)示例 2949.6 公共事件 2999.6.1 接口說明 2999.6.2 使用示例 299第10章 網(wǎng)絡通信 30410.1 準備 30410.1.1 創(chuàng)建示例工程 30410.1.2 增加網(wǎng)絡權限 30410.1.3 主體UI框架 30610.2 HTTP數(shù)據(jù)請求 30810.2.1 http模塊接口說明 30810.2.2 使用request接口進行數(shù)據(jù)通信 30810.2.3 使用requestInStream接口進行數(shù)據(jù)通信 30910.3 WebSocket連接 31110.3.1 webSocket模塊接口說明 31210.3.2 webSocket通信示例 31210.4 Socket連接 31510.4.1 接口說明 31510.4.2 使用TCP進行通信 31610.4.3 使用UDP進行通信 31910.5 網(wǎng)絡連接管理 32110.5.1 接口說明 32110.5.2 接收指定網(wǎng)絡的狀態(tài)變化通知 32310.5.3 主動獲得系統(tǒng)激活的網(wǎng)絡類型 325第11章 網(wǎng)頁瀏覽 32711.1 準備 32711.1.1 創(chuàng)建示例工程 32711.1.2 增加網(wǎng)絡權限 32711.1.3 主體UI框架 32911.2 使用Web組件加載網(wǎng)頁 33111.2.1 加載遠端網(wǎng)頁 33211.2.2 加載本地網(wǎng)頁 33211.2.3 加載HTML格式的文本數(shù)據(jù) 33311.3 管理網(wǎng)頁跳轉(zhuǎn)及瀏覽記錄 導航 33411.3.1 歷史記錄導航 33511.3.2 網(wǎng)頁刷新 33511.3.3 頁面跳轉(zhuǎn) 33511.3.4 跨應用跳轉(zhuǎn) 33811.4 應用側(cè)與網(wǎng)頁的通信 33911.4.1 應用側(cè)通過Java Script與網(wǎng)頁通信 33911.4.2 網(wǎng)頁調(diào)用應用側(cè)實例方法 34211.4.3 建立應用側(cè)與網(wǎng)頁之間的數(shù)據(jù)通路 34511.5 默認UserAgent定義 349第12章 多媒體使用 35112.1 準備 35112.1.1 創(chuàng)建示例工程 35112.1.2 主體UI框架 35212.2 圖像基礎操作 35412.2.1 Image組件 35412.2.2 PixelMap 35612.2.3 圖像操作示例 35912.3 選取照片及視頻 36512.3.1 圖庫選擇器 36512.3.2 相機選擇器 36812.4 音頻播放 37112.5 視頻播放 38212.5.1 Video組件播放視頻 38212.5.2 AVPlayer播放視頻 386第13章 安全管理 39713.1 準備 39713.1.1 創(chuàng)建示例工程 39713.1.2 主體UI框架 39813.2 用戶資產(chǎn)保護 39913.2.1 應用沙盒 39913.2.2 應用權限管控 40013.2.3 安全訪問機制 41313.2.4 隱私保護 41813.3 研發(fā)資產(chǎn)保護 42013.3.1 代碼混淆 42013.3.2 應用加密 427第14章 Module化及復用 42814.1 準備 42814.1.1 創(chuàng)建示例工程 42814.1.2 主體UI框架 42814.2 Feature類型的Module 43114.2.1 約束限制 43114.2.2 Feature類型Module的基本使用 43114.2.3 開發(fā) 43414.2.4 調(diào)試 43614.3 Static Library類型的Module 43614.3.1 約束限制 43614.3.2 Static Library類型Module的基本使用 43614.3.3 開發(fā) 43914.3.4 調(diào)試Static Library類型的Module 45114.4 Share Library類型的Module 45114.4.1 約束限制 45114.4.2 創(chuàng)建Share Library類型的Module 45114.4.3 開發(fā) 45414.4.4 調(diào)試Share Library類型的Module 46414.5 App組成及程序包概覽 46414.5.1 開發(fā)態(tài)App結(jié)構 46514.5.2 編譯態(tài)App結(jié)構 46514.5.3 發(fā)布態(tài)包結(jié)構 466項目實踐篇第15章 App發(fā)布與管理 47015.1 真機調(diào)試及打包配置 47015.1.1 準備 47115.1.2 配置真機調(diào)試環(huán)境 47715.1.3 配置發(fā)布打包環(huán)境 48315.2 發(fā)布HarmonyOS應用 48515.2.1 創(chuàng)建應用 48515.2.2 配置應用信息 48715.2.3 配置版本信息 490第16章 項目實踐 50416.1 項目介紹 50416.2 頁面關系及實現(xiàn) 50616.2.1 根頁面實現(xiàn) 50716.2.2 待辦頁面實現(xiàn) 50916.2.3 記錄頁面實現(xiàn) 51316.2.4 設置頁面實現(xiàn) 52216.2.5 任務配置頁面實現(xiàn) 52616.3 基礎能力介紹及實現(xiàn) 53216.3.1 基礎數(shù)據(jù)類型 53216.3.2 基礎工具類 53516.3.3 通用管理類 53916.3.4 特定管理類 54116.4 配置及資源 54916.4.1 配置 54916.4.2 資源文件 550