黨的二十大報告中指出: 教育、科技、人才是全面建設社會主義現代化國家的基礎性、戰(zhàn)略性支撐。必須堅持科技是第一生產力、人才是第一資源、創(chuàng)新是第一動力,深入實施科教興國戰(zhàn)略、人才強國戰(zhàn)略、創(chuàng)新驅動發(fā)展戰(zhàn)略,這三大戰(zhàn)略共同服務于創(chuàng)新型國家的建設。高等教育與經濟社會發(fā)展緊密相連,對促進就業(yè)創(chuàng)業(yè)、助力經濟社會發(fā)展、增進人民福祉具有重要意義。
鴻蒙操作系統(tǒng)(HarmonyOS)自2019年被中國華為公司發(fā)布以來,一直受到了廣泛關注。HarmonyOS的誕生恰逢我國近年來在高精尖及基礎領域受到國外擠壓的關鍵時期,其發(fā)布對我國操作系統(tǒng)國產化具有戰(zhàn)略意義。
HarmonyOS是一款面向全場景智慧生活方式的分布式操作系統(tǒng),是一個可以進行部署移動辦公、運動健康、社交通信、媒體娛樂等各種場景應用的操作系統(tǒng)。HarmonyOS具有硬件互助、資源共享,一次開發(fā)、多端部署,統(tǒng)一OS、彈性部署等諸多優(yōu)點,勢必會成為萬物互聯時代的新寵。
目前,基于HarmonyOS開發(fā)SDK已經發(fā)布到了第9版,并還在不斷完善中。華為公司在更新SDK的同時,也在不斷完善相關的開發(fā)工具鏈,包括集成開發(fā)環(huán)境、模擬器、預覽器等,不斷為開發(fā)者提供功能更加強大、體驗更加友好的開發(fā)支持。
本書系統(tǒng)闡述了HarmonyOS移動應用開發(fā)的相關技術,并附有豐富的案例,可以幫助開發(fā)者掌握鴻蒙移動應用開發(fā)技術,快速進入鴻蒙移動應用開發(fā)領域。
本書中的程序實現是基于ArkTS語言的,ArkTS是基于TypeScript語言的,而TypeScript語言又是JavaScript語言的超集。本書適合具有一定的相關語言基礎的讀者,適合具有一定計算機或軟件開發(fā)基礎的大學生或軟件開發(fā)者。
本書主要內容
第1章概述,主要介紹了什么是HarmonyOS,HarmonyOS的特性、體系架構、支持的開發(fā)語言等,在應用開發(fā)方面,HarmonyOS支持多種開發(fā)語言。
第2章介紹了第1個HarmonyOS應用,通過搭建開發(fā)環(huán)境、利用向導開發(fā)了第1個基于ArkTS的HarmonyOS應用,介紹了鴻蒙應用的項目結構、資源和配置等。
第3章介紹了TypeScript語言基礎,簡明扼要地介紹了TypeScript語言的基本內容,包括基本類型和運算符、控制語句與函數、類和接口、模塊、裝飾器等。ArkTS是基于TypeScript的語言,因此開發(fā)者需要具備一定的相關基礎。
第4章介紹了ArkUI開發(fā)框架,包括聲明式開發(fā)范式、基于ArkUI的項目結構、聲明式語法等。ArkUI是基于ArkTS的UI開發(fā)框架,是HarmonyOS應用UI開發(fā)的主要框架。
第5章介紹了組件,包括組件屬性、組件事件、狀態(tài)管理及系統(tǒng)內置的組件等。組件是構成界面的基本元素,應用通過各種組件可構造出豐富的界面內容。
第6章介紹了布局和頁面跳轉,布局方面介紹了一些常用布局用法及系統(tǒng)內置布局簡介、組件的生命周期等。布局是可以容納組件的組件,布局和組件構成了頁面,頁面之間可以通過路由進行跳轉,頁面之間跳轉可以傳遞參數。
第7章概述了Ability,并介紹了FA模型下的PageAbility和Stage模型下的UIAbility,包括創(chuàng)建、啟動和停止、生命周期等,本章還介紹了跨設備遷移。在HarmonyOS應用中,Ability是能力的抽象,是系統(tǒng)的調度單元。
第8章介紹了服務和數據能力,介紹了服務的定義、生命周期、訪問等,介紹了數據能力的創(chuàng)建和訪問。服務是鴻蒙操作系統(tǒng)提供的后臺運行的能力,數據能力可以使應用進行數據共享。
第9章介紹了數據存儲,包括首選項數據存儲、關系數據存儲和分布式數據服務。數據存儲是為HarmonyOS應用提供數據持久化,分布式數據服務使數據可以透明地存在于多個設備上,使應用的數據能夠輕松地實現跨設備數據同步和共享。
第10章介紹了公共事件和通知,介紹了公共事件的概念、公共事件的處理接口及使用方法、通知的概念及使用方法。
第11章介紹了多媒體開發(fā)相關技術,包括圖像處理、音頻播放、視頻播放等,通過對多媒體數據的處理,可以使所開發(fā)的應用更加豐富多彩。
第12章介紹了網絡訪問,包括Socket、WebSocket和HTTP方式。HarmonyOS應用可以通過網絡訪問互聯網上的服務和數據,打造互聯網應用。
第13章介紹了一個天氣查詢的綜合應用實例,通過綜合運用相關技術,呈現一個完整的HarmonyOS移動應用開發(fā)方法和過程。
本書第1章、第2章、第6章、第7章、第8章、第9章由劉安戰(zhàn)(中原工學院)撰寫,第3章、第11章、第13章由余雨萍(中原工學院)撰寫,第4章、第5章由陳爭艷(河南財政金融學院)撰寫,第10章由張玉瑩(中原工學院)撰寫,第12章由馬超凡(中原工學院)撰寫,本書最后由劉安戰(zhàn)進行了通篇審閱、修改和定稿。
閱讀建議
本書是一本鴻蒙應用開發(fā)的入門書籍,但是由于技術的依賴性,筆者認為學習本書需要具備一定的軟件開發(fā)基礎。
希望學習本書的讀者具備一定的JavaScript和JSON基礎,以及一定的高級語言軟件開發(fā)基礎。大學計算機或軟件相關專業(yè)的高年級學生一般均具備學習本書的能力。如果讀者具有移動應用開發(fā)的相關經驗,則學習本書會更加輕松和快捷。
本書資源
本書配套的源代碼及PPT資源可以通過掃描目錄上方的二維碼獲取。
致謝
首先感謝家人的支持,否則筆者可能無法完成本書。
感謝團隊成員,是大家的通力合作和互相幫助才使我們能夠完成本書。感謝工作單位的領導和相關老師的支持和幫助。
感謝學生周鵬、丁毅露、韓磊、趙胡斐、趙月芽、朱美穎等參與代碼調試、資源整理等工作。
感謝華為公司的陶銘、譚景盟、周宣宣、王玉等在成書過程的支持及幫助,同時感謝華為公司一大批優(yōu)秀的工程師,如果沒有他們的努力,恐怕不會有HarmonyOS的蓬勃發(fā)展。在成書過程中我們參考了華為公司提供的在線官方技術文檔和相關示例。
感謝來自業(yè)內的多位同仁在成書過程中的支持和幫助。感謝鴻蒙相關的技術社區(qū)提供的學習和交流平臺,包括華為開發(fā)者社區(qū)、51CTO開源基礎軟件區(qū)等。
感謝清華大學出版社工作人員的辛勤工作,特別是趙佳霓編輯,從選題到出版過程中付出了很多辛勤的努力。
劉安戰(zhàn)
2023.5.16