上一節(jié)教大家跑通了demo
這一節(jié)一起來了解HarmonyOS工程
春節(jié)不停更,此文正在參加「星光計(jì)劃-春節(jié)更帖活動」
華為云享專家,InfoQ簽約作者,阿里云專家博主,51CTO博客首席體驗(yàn)官,開源項(xiàng)目GVA成員之一,專注于大前端技術(shù)的分享,包括Flutter,小程序,安卓,VUE,JavaScript。
HarmonyOS APP工程結(jié)構(gòu)
在進(jìn)行HarmonyOS應(yīng)用/服務(wù)開發(fā)前,應(yīng)該掌握HarmonyOS應(yīng)用/服務(wù)的邏輯結(jié)構(gòu)
HarmonyOS應(yīng)用/服務(wù)發(fā)布形態(tài)為APP Pack(Application Package,簡稱APP),它是由一個或多個HAP(HarmonyOS Ability Package)包以及描述APP Pack屬性的pack.info文件組成。
一個HAP在工程目錄中對應(yīng)一個Module,它是由代碼、資源、第三方庫及應(yīng)用/服務(wù)配置文件組成,可以分為Entry和Feature兩種類型。
Entry:應(yīng)用/服務(wù)的主模塊,可獨(dú)立安裝運(yùn)行。一個APP中,對于同一類型的設(shè)備,可以包含一個或多個entry類型的HAP,如果同一設(shè)備類型包含多個entry模塊,需要配置distroFilter分發(fā)規(guī)則。,運(yùn)行的時候也是這樣。你會發(fā)現(xiàn)這個模塊。
Feature:應(yīng)用/服務(wù)的動態(tài)特性模塊。一個APP可以包含一個或多個feature類型的HAP,也可以不含。
HAP是Ability的部署包,HarmonyOS應(yīng)用/服務(wù)代碼圍繞Ability組件展開,它是由一個或多個Ability組成。Ability分為兩種類型:FA(Feature Ability,中文名稱:元程序)和PA(Particle Ability,中文名稱:元服務(wù))。FA/PA是應(yīng)用/服務(wù)的基本組成單元,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能。FA有UI界面,而PA無UI界面。
工程目錄結(jié)構(gòu)
DevEco Studio工程目錄結(jié)構(gòu)提供工程視圖和HarmonyOS視圖。工程創(chuàng)建或打開,默認(rèn)顯示工程視圖,如果要切換到HarmonyOS視圖,在左上角點(diǎn)擊Project > Ohos進(jìn)行切換。
JS工程目錄結(jié)構(gòu)
JS工程目錄結(jié)構(gòu)如下圖所示。
java目錄:僅Phone、Tablet、TV和Wearable設(shè)備的JS工程才存在,作為HarmonyOS應(yīng)用/服務(wù)的啟動入口。
common目錄:用于存放公共資源文件,如媒體資源、自定義組件和JS文檔等。
i18n目錄用于存放多語言的json文件,
pages目錄:
pages文件夾下可以包含1個或多個頁面,每個頁面都需要創(chuàng)建一個文件夾(如圖中的index)。頁面文件夾下主要包含3種文件類型:css、js和hml文件。
pages>index>index.hml文件hml文件定義了頁面的布局結(jié)構(gòu),使用到的組件,以及這些組件的層級關(guān)系,如果你會html,那么這個不成問題。
pages>index>index.css文件css文件定義了頁面的樣式與布局,包含樣式選擇器和各種樣式屬性等,如果你會css,那么這個不成問題。
pages>index>index.js文件js文件描述了頁面的行為邏輯,此文件里定義了頁面里所用到的所有的邏輯關(guān)系,比如數(shù)據(jù)、事件等,如果你會js,那么這個不成問題。
resources用于存放資源配置文件,比如:全局樣式、多分辨率加載等配置文件。
app.js文件全局的JavaScript邏輯文件和應(yīng)用/服務(wù)的生命周期管理。
對于HarmonyOS工程中的目錄結(jié)構(gòu)就了解到這兒
由于DevEco Studio支持包括手機(jī)、平板、車機(jī)、智慧屏、智能穿戴、輕量級智能穿戴和智慧視覺設(shè)備的HarmonyOS應(yīng)用/服務(wù)開發(fā),預(yù)置了豐富的工程模板,可以根據(jù)工程向?qū)лp松創(chuàng)建適應(yīng)于各類設(shè)備的工程,并自動生成對應(yīng)的代碼和資源模板。同時,DevEco Studio還提供了多種編程語言供開發(fā)者進(jìn)行HarmonyOS應(yīng)用/服務(wù)開發(fā),包括Java、JS、eTS和C/C++編程語言。
下面是工程模板和對應(yīng)開發(fā)語言的對應(yīng)關(guān)系
到此華為鴻蒙目錄結(jié)構(gòu)和工程模板和對應(yīng)開發(fā)語言的對應(yīng)關(guān)系就講完了
了解了這些對于你的上手速度就會達(dá)到事半功倍的效果。
最后總結(jié):
作為一枚Flutter開發(fā)程序員,第一點(diǎn),第一次上手這個IDE和語言環(huán)境還是比較順利的 基本能看懂 具體的還要看官網(wǎng)文檔和api使用情況,沒有具體去深入寫, 個人看法學(xué)起來應(yīng)該不難,第二點(diǎn),如果有空了解和學(xué)習(xí)鴻蒙OS開發(fā) 沒有壞處 ,不要等到書到用書方恨少 那就不好了 ,有興趣的同學(xué)可以根據(jù)教程安裝開發(fā)環(huán)境學(xué)習(xí)和了解 ,最后希望我的文章能幫助到各位解決問題 。乾坤未定,你我皆是黑馬
審核編輯:湯梓紅
-
設(shè)備
+關(guān)注
關(guān)注
2文章
4449瀏覽量
70492 -
開源
+關(guān)注
關(guān)注
3文章
3214瀏覽量
42299 -
HarmonyOS
+關(guān)注
關(guān)注
79文章
1966瀏覽量
29955
發(fā)布評論請先 登錄
相關(guān)推薦
評論