新聞中心
想了解更多內(nèi)容,請?jiān)L問:

和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos./#zz
研究HarmonyOS有一段時間了,今天主要結(jié)合自己多年的項(xiàng)目開發(fā)經(jīng)驗(yàn)和各種技術(shù)棧結(jié)合HarmonyOS APP應(yīng)用開發(fā)講解下如何優(yōu)雅地進(jìn)行開發(fā)和積累。
一、挖掘項(xiàng)目需求或者做項(xiàng)目移植,并且做技術(shù)分析,與HarmonyOS APP應(yīng)用開發(fā)相關(guān)知識點(diǎn)進(jìn)行結(jié)合。
這里最簡潔的方式就是用一個腦圖規(guī)劃下就好,我這里就拿我之前發(fā)布的在線教育APP的項(xiàng)目為例進(jìn)行介紹下:
二、創(chuàng)建項(xiàng)目工程,采用一個Project多個Moudule的方式進(jìn)行開發(fā),并且使用git進(jìn)行托管,開源項(xiàng)目建議使用gitee
下面還是拿我的一個項(xiàng)目進(jìn)行舉例:
我這里一個項(xiàng)目Project下創(chuàng)建了4個Module,默認(rèn)的entry下并沒有編寫業(yè)務(wù)代碼,js命名的Module下主要做的FA功能開發(fā),java命名的Module只要做的PA部分功能開發(fā),而roundimage是我編寫的自定義組件。做好Module的劃分,后期更方便我們進(jìn)行代碼維護(hù)和功能復(fù)用,比如自定義組件這塊任何一個其它工程都可以直接拉過去用。
三、功能模塊實(shí)現(xiàn)的流程思路
1、先處理主要業(yè)務(wù)的功能,開始進(jìn)行UI開發(fā)的時候,采用靜態(tài)數(shù)據(jù)進(jìn)行渲染,這里可以將靜態(tài)數(shù)據(jù)生成封裝到一個方法之中,后期可以直接通過切換方法調(diào)用換成云端數(shù)據(jù)對接或者PA端數(shù)據(jù)對接,如下是我工程里編寫的代碼截圖:
2、需要接入第三方SDK或者AI引擎的留在最后單獨(dú)集成調(diào)試,比如掃碼功能接入、直播功能接入、語音識別等。
3、每個小功能完成之后都要可維可測,并且commit push到git平臺。
4、對業(yè)務(wù)流程較復(fù)雜的業(yè)務(wù)做好時序圖進(jìn)行記錄。
四、養(yǎng)成良好的編程規(guī)范習(xí)慣以及運(yùn)用設(shè)計模式,即使沒有詳細(xì)設(shè)計文檔也可以快速讀完項(xiàng)目代碼
1、劃分合理的包結(jié)構(gòu),包名、類名、方法名、變量名等標(biāo)識符要顧名思義。
2、對關(guān)鍵方法、變量和步驟添加注釋說明
3、對常量進(jìn)行統(tǒng)一定義,避免出現(xiàn)魔鬼數(shù)字和字符串
4、每個方法體的內(nèi)容盡量控制在50行以內(nèi),超過50行可以再進(jìn)行方法封裝和調(diào)用,這樣更方便閱讀代碼。
5、對Java實(shí)體類的封裝,只需要采用經(jīng)典的getter和setter進(jìn)行封裝,不要嵌入@Data這類侵入性比較強(qiáng)的代碼,這樣是為了更方便在Springboot、Harmony、Android等各類開發(fā)中公用一套實(shí)體類代碼,更方便前后端開發(fā)交互和協(xié)調(diào)。
6、設(shè)計模式的合理運(yùn)用
比如我這里項(xiàng)目有靜態(tài)版的、PA版的、云端版的,那么可以合理的封裝設(shè)計,最后采用一個配置項(xiàng)進(jìn)行一鍵切換。
以上是我結(jié)合多年前端、后端、架構(gòu)設(shè)計等項(xiàng)目開發(fā)經(jīng)驗(yàn)總結(jié)的一些經(jīng)驗(yàn),希望能夠幫助大家快速get鴻蒙開發(fā)技能。
?著作權(quán)歸作者和HarmonyOS技術(shù)社區(qū)共同所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
想了解更多內(nèi)容,請?jiān)L問:
和華為官方合作共建的鴻蒙技術(shù)社區(qū)
https://harmonyos./#zz
網(wǎng)站題目:如何優(yōu)雅地開發(fā)HarmonyOSAPP應(yīng)用
網(wǎng)頁地址:http://m.5511xx.com/article/cogghjo.html


咨詢
建站咨詢
