如何優(yōu)雅地開(kāi)發(fā)HarmonyOS APP應(yīng)用
研究HarmonyOS有一段時(shí)間了,今天主要結(jié)合自己多年的項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)和各種技術(shù)棧結(jié)合HarmonyOS APP應(yīng)用開(kāi)發(fā)講解下如何優(yōu)雅地進(jìn)行開(kāi)發(fā)和積累。
一、挖掘項(xiàng)目需求或者做項(xiàng)目移植,并且做技術(shù)分析,與HarmonyOS APP應(yīng)用開(kāi)發(fā)相關(guān)知識(shí)點(diǎn)進(jìn)行結(jié)合。
這里最簡(jiǎn)潔的方式就是用一個(gè)腦圖規(guī)劃下就好,我這里就拿我之前發(fā)布的在線教育APP的項(xiàng)目為例進(jìn)行介紹下:

二、創(chuàng)建項(xiàng)目工程,采用一個(gè)Project多個(gè)Moudule的方式進(jìn)行開(kāi)發(fā),并且使用git進(jìn)行托管,開(kāi)源項(xiàng)目建議使用gitee
下面還是拿我的一個(gè)項(xiàng)目進(jìn)行舉例:

我這里一個(gè)項(xiàng)目Project下創(chuàng)建了4個(gè)Module,默認(rèn)的entry下并沒(méi)有編寫(xiě)業(yè)務(wù)代碼,js命名的Module下主要做的FA功能開(kāi)發(fā),java命名的Module只要做的PA部分功能開(kāi)發(fā),而roundimage是我編寫(xiě)的自定義組件。做好Module的劃分,后期更方便我們進(jìn)行代碼維護(hù)和功能復(fù)用,比如自定義組件這塊任何一個(gè)其它工程都可以直接拉過(guò)去用。
三、功能模塊實(shí)現(xiàn)的流程思路
1、先處理主要業(yè)務(wù)的功能,開(kāi)始進(jìn)行UI開(kāi)發(fā)的時(shí)候,采用靜態(tài)數(shù)據(jù)進(jìn)行渲染,這里可以將靜態(tài)數(shù)據(jù)生成封裝到一個(gè)方法之中,后期可以直接通過(guò)切換方法調(diào)用換成云端數(shù)據(jù)對(duì)接或者PA端數(shù)據(jù)對(duì)接,如下是我工程里編寫(xiě)的代碼截圖:


2、需要接入第三方SDK或者AI引擎的留在最后單獨(dú)集成調(diào)試,比如掃碼功能接入、直播功能接入、語(yǔ)音識(shí)別等。
3、每個(gè)小功能完成之后都要可維可測(cè),并且commit push到git平臺(tái)。
4、對(duì)業(yè)務(wù)流程較復(fù)雜的業(yè)務(wù)做好時(shí)序圖進(jìn)行記錄。
四、養(yǎng)成良好的編程規(guī)范習(xí)慣以及運(yùn)用設(shè)計(jì)模式,即使沒(méi)有詳細(xì)設(shè)計(jì)文檔也可以快速讀完項(xiàng)目代碼
1、劃分合理的包結(jié)構(gòu),包名、類名、方法名、變量名等標(biāo)識(shí)符要顧名思義。

2、對(duì)關(guān)鍵方法、變量和步驟添加注釋說(shuō)明

3、對(duì)常量進(jìn)行統(tǒng)一定義,避免出現(xiàn)魔鬼數(shù)字和字符串

4、每個(gè)方法體的內(nèi)容盡量控制在50行以內(nèi),超過(guò)50行可以再進(jìn)行方法封裝和調(diào)用,這樣更方便閱讀代碼。
5、對(duì)Java實(shí)體類的封裝,只需要采用經(jīng)典的getter和setter進(jìn)行封裝,不要嵌入@Data這類侵入性比較強(qiáng)的代碼,這樣是為了更方便在Springboot、Harmony、Android等各類開(kāi)發(fā)中公用一套實(shí)體類代碼,更方便前后端開(kāi)發(fā)交互和協(xié)調(diào)。
6、設(shè)計(jì)模式的合理運(yùn)用
比如我這里項(xiàng)目有靜態(tài)版的、PA版的、云端版的,那么可以合理的封裝設(shè)計(jì),最后采用一個(gè)配置項(xiàng)進(jìn)行一鍵切換。
以上是我結(jié)合多年前端、后端、架構(gòu)設(shè)計(jì)等項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)的一些經(jīng)驗(yàn),希望能夠幫助大家快速get鴻蒙開(kāi)發(fā)技能。
©著作權(quán)歸作者和HarmonyOS技術(shù)社區(qū)共同所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos.51cto.com/#zz