HarmonyOS學習記錄1
本文為個人學習記錄,僅供參考,如有錯誤請指出。本文主要記錄HarmonyOS基礎概念合核心技術理念。
核心技術理念:
一次開發,多端部署:
其含義是一套代碼工程,一次開發上架,多端按需部署,HarmonyOS提供了多端開發環境、多端開發能力以及多端分發機制,可以支持開發者快速高效地開發支持多種終端設備形態的應用,實現對不同設備兼容的同時,提供跨設備的流轉、遷移和協同的分布式體驗。其中,推薦使用“三層工程結構”:common層(公共能力層)、features層(基礎特性層)、products層(產品定制層)
可分可合,自由流轉:
在開發態,開發者可通過服務解耦,將業務拆分成多個HAP(HarmonyOS Ability Package,HAP是Ability的部署包,HarmonyOS應用代碼圍繞Ability組件展開,它是由一個或者多個Ability組成,其中Ability分為兩種:FA(Feature Ability)和PA(Particle Ability)。FA/PA是應用的基本組成單元,能實現特定的業務功能,FA有UI界面,PA沒有UI界面);在部署態,開發者可以將一個或多個HAP自由組合,打包成一個App Pack統一上架;在分發運行態,每個模塊都能單獨分發滿足用戶的單一使用場景,也可以多個模塊組合分發滿足用戶更加復雜的使用場景
統一生態,原生智能:
鴻蒙系統對應的提供系統WebView、ArkUI框架和XComponment能力來支撐三種類型的跨平臺框架的,基于這種框架開發的應用可以以較低的成本遷移到鴻蒙系統中。同時鴻蒙系統內置強大的AI能力,通過不同層次的AI能力開放,可以滿足開發者在開發不同場景時的需求,幫助開發者快速實現應用智能化,其中包括:
- MachineLearning Kit:提供場景化能力,包括通用卡證識別、實時語音識別等;提供AI控件能力
- Core AI API:提供圖像語義、語言語音解析、OCR文字識別等能力
- Core DeepLearning API:提供高性能低功耗的端側推理和端側學習環境
DevEco Studio安裝:
首先,安裝DevEco Studio。官方網址:https://developer.huawei.com/consumer/cn/download/,window系統選擇window版本即可,inter芯片的Mac電腦選擇X86版本,M系列芯片選擇ARM版本。具體安裝過程暫不記錄,安裝好之后創建一個空項目即可
項目結構:
AppScope > app.json5: 應用的全局配置信息
entry: HarmonyOS工程模塊,編譯構建生成一個HAP包
entry > src > main > ets:用于存放ArkTS源碼
entry > src > main > ets > entryability:應用/服務的入口
entry > src > main > ets > entrybackupability:應用提供擴展的備份恢復能力
entry > src > main > ets > pages:應用/服務包含的頁面
entry > src > main > resources:用于存放應用/服務所用到的資源文件,如圖形、多媒體、字符串、布局文件等
entry > src > main > resources > base > profile:頁面的路由配置
entry > src > main > module.json5:模塊配置文件。主要包含HAP包的配置信息、應用/服務在具體設備上的配置信息以及應用/服務的全局配置信息
build-profile.json5: 當前的模塊信息 、編譯信息配置項,包括buildOption、targets配置等
hvigorfile.ts: 模塊級編譯構建任務腳本
obfuscation-rules.txt: 混淆規則文件。混淆開啟后,在使用Release模式進行編譯時,會對代碼進行編譯、混淆及壓縮處理,保護代碼資產
oh-package.json5: 用來描述包名、版本、入口文件(類型聲明文件)和依賴項等信息
oh_modules: 用于存放三方庫依賴信息
build-profile.json5: 工程級配置信息,包括簽名signingConfigs、產品配置products等。其中products中可配置當前運行環境,默認為HarmonyOS
hvigorfile.ts:工程級編譯構建任務腳本
oh-package.json5: 主要用來描述全局配置,如:依賴覆蓋(overrides)、依賴關系重寫(overrideDependencyMap)和參數化配置(parameterFile)等
DevEco Studio的具體使用方法個人感覺和其他IDE類似,不過DevEco Studio可開箱即用,HarmonyOS SDK已嵌入Studio中,所以無需額外下載配置,相較于其他IDE來說更加便利。其他具體功能的使用在此暫不編寫。