HarmonyOS套用開發實戰(JavaScript版)

HarmonyOS套用開發實戰(JavaScript版)

《HarmonyOS套用開發實戰(JavaScript版)》是2022年清華大學出版社出版的圖書,作者是徐禮文。

基本介紹

  • 書名: HarmonyOS套用開發實戰(JavaScript版)
  • 作者:徐禮文
  • 出版社: 清華大學出版社
  • 出版時間:2022年
  • 定價:129 元
  • ISBN: 9787302600312  
內容簡介,圖書目錄,

內容簡介

本書詳細講解HarmonyOS ArkUI(方舟開發框架)的兩大UI框架:ArkUI JS(類Web範式框架)和ArkUI ETS(聲明式UI範式框架)。通過大量案例帶領開發者深入掌握HarmonyOS輕套用(ArkUI JS)、富套用(ArkUI ETS)、和智慧型家居(OpenHarmony 3.0 LTS)方向套用開發。
本書共6篇20個章節。第一篇為開發準備篇,共2章,介紹HarmonyOS的系統特性,架構和套用開發環境搭建;第二篇為類Web範式框架篇,共4章,深入淺出介紹ArkUI JS框架、內置組件、服務接口等,第5章通過一個分散式遊戲案例深入講解鴻蒙分散式套用開發的技巧,第6章深入講解原子化服務和服務卡片的開發;第三篇為接口篇,共5章,深入講解ArkUI JavaScript API;第四篇為聲明式UI範式篇,共3章,深入講解ArkUI聲明式UI框架(ArkUI ETS),本篇第12章系統講解ArkUI聲明式框架的開發語言TypeScript,本篇第14章通過深入介紹ArkUI ETS實戰:華為商城APP開發;第五篇為OpenHarmony篇,共3章,分別介紹OpenHarmony 3.0LTS的源碼下載、編譯、燒錄和北向和南向套用開發;第六篇為提高篇,共3章,分別介紹輕鴻蒙端JavaScript框架和富鴻蒙端JavaScript框架的原理,最後一章詳細介紹如何給開發一個類Web範式的組件,並提交給Gitee OpenHarmony倉庫。
學習本書內容,需要具備一定的HTML、CSS、JS基礎知識,希望本書能夠對讀者學習使用鴻蒙開發者框架構建美觀,快速,跨終端的移動應用程式有所幫助。

圖書目錄

第一篇開發準備篇
第1章HarmonyOS系統簡介
1.1HarmonyOS的設計目標
1.1.15G萬物互聯時代
1.1.2物聯網作業系統碎片化
1.1.3下一代作業系統的發展方向
1.2HarmonyOS技術特性
1.2.1分散式架構
1.2.2作業系統可裁剪
1.2.3一套代碼多端運行
1.3HarmonyOS技術架構
1.3.1核心層
1.3.2系統服務層
1.3.3架構層
1.3.4套用層
1.4HarmonyOS與LiteOS
1.4.1LiteOSA 簡介
1.4.2LiteOSM 簡介
1.5OpenHarmony生態
1.5.1Android與AOSP
1.5.2HarmonyOS與OpenHarmony
1.6HarmonyOS與Fuchsia OS
1.6.1Fuchsia OS系統架構
1.6.2Fuchsia OS與產業
1.7本章小結
第2章開發環境搭建
2.1鴻蒙套用開發環境搭建
2.1.1下載和安裝Node.js
2.1.2下載和安裝DevEco Studio
2.1.3運行Hello World
2.2鴻蒙應用程式運行調試
2.2.1在遠程模擬器中運行套用
2.2.2在Simulator中運行套用
2.3使用真機設備運行套用
2.3.1手動真機簽名流程
2.3.2自動化真機簽名流程
2.4本章小結
第二篇ArkUI JS UI篇
第3章ArkUI JS框架詳細講解
3.1ArkUI JS框架介紹
3.1.1ArkUI JS框架的特徵
3.1.2ArkUI JS架構介紹
3.1.3ArkUI JS運行流程
3.2創建一個ArkUI JS項目
3.2.1新建ArkUI JavaScript項目
3.2.2編寫界面布局
3.2.3編寫界面邏輯代碼
3.2.4通過模擬器預覽效果
3.3項目目錄結構
3.3.1項目整體結構
3.3.2項目的配置檔案
3.3.3資源檔案的使用方式
3.4頁面布局
3.4.1Flexbox布局
3.4.2Grid格線布局
3.5語法詳細講解
3.5.1HML語法
3.5.2CSS語法
3.5.3JS邏輯
3.5.4多語言支持
3.6內置組件
3.6.1容器組件
3.6.2基礎組件
3.6.3媒體組件
3.6.4畫布組件
3.7自定義組件
3.7.1自定義組件定義
3.7.2自定義組件事件與互動
3.8本章小結
第4章ArkUI JS與Java混合開發
4.1JavaScript調用Service Ability
4.1.1JS端調用遠端Service Ability
4.1.2JS端訂閱遠端Service Ability
4.2JS端調用音樂播放Service Ability
4.2.1申請分散式使用許可權
4.2.2創建Java端Service Ability
4.2.3音樂播放器前端的UI
4.2.4封裝JS前端調用Service Ability的方法
4.2.5JS端調用Service Ability的方法
4.2.6音樂播放器遙控UI
4.2.7音樂播放器遙控邏輯實現
4.2.8通過實體音量鍵控制遠程設備音量
4.2.9JS端訂閱Service Ability中的播放狀態
4.2.10本節小結
4.3JavaScript項目混合Java UI開發
4.3.1JS Ability和Java Ability跳轉
4.3.2JS端調用相機拍照功能
第5章ArkUI JS遊戲開發案例
5.1飛機大戰遊戲介紹
5.2飛機大戰遊戲分析
5.2.1遊戲性能問題分析
5.2.2遊戲角色分析
5.3飛機大戰核心算法
5.3.1碰撞檢測算法
5.3.2子彈飛行算法
5.4飛機大戰遊戲界面實現
5.4.1遊戲主界面
5.4.2遊戲控制手柄界面
5.5飛機大戰核心代碼實現——單機篇
5.5.1載入遊戲資源
5.5.2太空背景動畫
5.5.3遊戲動畫入口
5.5.4繪製遊戲主角
5.5.5繪製遊戲敵機
5.5.6繪製子彈對象
5.5.7繪製爆炸效果
5.5.8操作主角飛機
5.6飛機大戰核心代碼實現——鴻蒙篇
5.6.1多設備間遊戲流轉
5.6.2實現遊戲遠程控制
5.7本章小結
第6章原子化服務和服務卡片開發
6.1什麼是原子化服務
6.1.1原子化服務特徵
6.1.2原子化服務與傳統套用的區別
6.1.3原子化服務上架流程
6.1.4原子化服務開發要求
6.1.5原子化服務開發流程
6.2什麼是服務卡片(Service Widget)
6.2.1服務卡片定義
6.2.2服務卡片的三大特徵
6.2.3服務卡片的設計規範
6.2.4服務卡片的整體架構
6.3服務卡片開發詳細講解
6.3.1創建JavaScript服務卡片
6.3.2服務卡片界面實現
6.3.3服務卡片數據綁定
6.3.4服務卡片數據更新
6.3.5服務卡片跳轉事件和訊息事件
第三篇JavaScript API篇
第7章基本功能接口
7.1頁面路由
7.1.1頁面路由用法
7.1.2頁面路由動畫
7.2套用上下文
7.3日誌列印
7.4套用配置
7.5視窗
7.6彈框
7.7動畫
7.8剪貼簿
第8章網路與媒體接口
8.1網路訪問
8.2WebSocket
8.3上傳和下載
8.4媒體
第9章分散式能力接口
9.1分散式遷移
9.1.1申請分散式遷移許可權
9.1.2通過FeatureAbility發起遷移
9.2分散式拉起
9.2.1申請分散式遷移許可權
9.2.2允許以顯式的方式拉起遠程或本地的FA
9.2.3拉起遠程帶返回值的FA
9.2.4分散式API在FA中的生命周期
9.3檔案數據管理
9.3.1輕量級存儲
9.3.2檔案管理
第10章系統設備接口
10.1訊息通知
10.2地理位置
10.3設備信息
10.4套用管理
10.5媒體查詢
10.6振動
第11章多實例管理
11.1多實例接口
11.1.1多Ability實例管理
11.1.2多Ability之間跳轉
11.2使用NPM安裝JavaScript模組
第四篇ArkUI ETS UI篇
第12章ArkUI ETS開發語言入門
12.1ArkUI TypeScript介紹
12.2etsloader編譯ETS
12.3TypeScript基礎數據類型
12.3.1布爾值
12.3.2數字
12.3.3字元串
12.3.4數組
12.3.5元組
12.3.6枚舉
12.3.7any
12.3.8void
12.3.9null和undefined
12.3.10never
12.4TypeScript高級數據類型
12.4.1泛型
12.4.2交叉類型
12.4.3聯合類型
12.5TypeScript面向對象特性
12.5.1類
12.5.2接口
12.6TypeScript裝飾器
12.6.1屬性裝飾器
12.6.2方法裝飾器
12.6.3參數裝飾器
12.6.4類裝飾器
12.7TypeScript模組與命名空間
12.7.1模組
12.7.2命名空間
第13章ArkUI ETS框架詳細講解
13.1框架特點
13.2組件化設計
13.2.1組件裝飾器@Component
13.2.2組件的內部私有狀態@State
13.2.3組件的輸入和輸出屬性
13.2.4單向同步父組件狀態@Prop
13.2.5雙向同步狀態@Link
13.2.6自定義組件的生命周期函式
13.2.7跨組件數據傳遞@Consume和@Provide
13.2.8監聽變數狀態變更@Watch
13.2.9自定義組件方法@Builder
13.2.10統一組件樣式@Extend
13.3狀態管理倉庫
13.3.1持久化數據管理
13.3.2環境變數Environment
13.3.3AppStorage與組件同步
13.4渲染控制語法
13.4.1條件渲染if...else...
13.4.2循環渲染ForEach
13.5動畫效果
13.5.1屬性動畫
13.5.2顯式動畫
13.5.3轉場動畫
13.5.4手勢處理
13.6框架結構詳細講解
13.6.1檔案組織
13.6.2JS標籤配置
13.6.3app.ets
13.6.4資源訪問
13.6.5像素單位
13.7界面布局
13.7.1Flex布局
13.7.2Grid布局
13.7.3堆疊布局
13.7.4柵格布局
13.8基礎組件
13.8.1Text組件
13.8.2Button組件
13.8.3Image組件
13.8.4List組件
13.8.5Swiper組件
13.8.6Tabs組件
13.8.7Scroll組件
13.8.8AlertDialog組件
13.8.9自定義彈框
第14章ArkUI ETS UI開發案例
14.1華為商城框架封裝
14.1.1公共組件封裝
14.1.2公共數據接口封裝
14.2商城首頁實現
14.2.1頭部組件
14.2.2頭部滾動
14.2.3輪播廣告
14.2.4導航選單
14.2.5限時購
14.3商城商品分類頁實現
14.3.1中間左側分類區
14.3.2中間右側商品區
14.4商品詳情頁實現
14.4.1頭部商品圖片輪播區
14.4.2商品價格展示欄
14.4.3商品底部購買欄
第五篇OpenHarmony篇
第15章OpenHarmony基礎
15.1OpenHarmony介紹
15.2OpenHarmony 3.0 LTS編譯與燒錄
15.2.1編譯環境搭建
15.2.2標準系統編譯和燒錄
第16章OpenHarmony套用開發詳細講解
16.1配置OpenHarmony SDK
16.2創建OpenHarmony工程
16.2.1選擇項目模板
16.2.2創建ArkUI JS項目
16.3配置OpenHarmony套用簽名信息
16.3.1生成密鑰和證書請求檔案
16.3.2生成套用證書檔案
16.3.3生成套用Profile檔案
16.3.4配置套用簽名信息
16.4推送並將HAP安裝到開發板/設備
16.4.1OpenHarmony命令行啟動hdcd
16.4.2下載hdc_std工具
16.4.3配置環境變數(Windows)
16.4.4使用hdc_std安裝HAP
16.4.5Hi3516DV300的運行
16.4.6hdc_std連線不到設備
第17章OpenHarmony “HiSpark智慧型賽車”
17.1鴻蒙HiSpark智慧型賽車遊戲介紹
17.2HiSpark智慧型賽車端實現
17.2.1HiSpark賽車配置WiFi網路
17.2.2HiSpark賽車電機驅動
17.2.3HiSpark賽車操作控制
17.3將賽車控制模組添加到鴻蒙源碼並編譯
17.3.1添加賽車控制模組代碼
17.3.2編譯OpenHarmony源碼
17.3.3燒錄OpenHarmony
17.4鴻蒙HAP端控制賽車實現
17.4.1賽車控制手柄界面實現
17.4.2將賽車控制手柄設定為橫屏模式
17.4.3Java端通過Service Ability傳送指令
17.4.4賽車控制手柄界面邏輯實現
17.5本章小結
第六篇提高篇
第18章輕鴻蒙端JavaScript框架
18.1JerryScript輕量級引擎
18.1.1編譯JerryScript
18.1.2運行JerryScript
18.2輕量級JS核心開發框架
18.2.1JS Framework
18.2.2組件綁定實現
18.2.3路由實現
18.2.4圖形繪製層
18.2.5渲染流程
第19章富鴻蒙端JavaScript框架
19.1QuickJS引擎
19.1.1安裝基礎編譯環境
19.1.2通過Git下載QuickJS源碼
19.1.3編譯QuickJS
19.1.4編譯驗證JS
19.2Google V8引擎
19.3ArkUI JS Engine框架
19.4新方舟編譯器(ArkCompiler 3.0)
第20章類Web範式組件設計與開發
20.1JavaScript端組件設計
20.1.1前端組件效果
20.1.2組件的詳細設計
20.2JS的界面解析
20.2.1在dom_type中增加新組件的屬性定義
20.2.2新增DOMMyCircle類
20.3後端的布局和繪製
20.3.1新增MyCircleComponent類
20.3.2新增MyCircleElement類
20.3.3新增RenderMyCircle類
20.3.4新增FlutterRenderMyCircle類

相關詞條

熱門詞條

聯絡我們