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

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

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


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

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

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

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





























