貨拉拉開(kāi)源兩款三方庫(kù),為鴻蒙應(yīng)用高效開(kāi)發(fā)貢獻(xiàn)力量
自HarmonyOS 5發(fā)布以來(lái),鴻蒙應(yīng)用開(kāi)發(fā)加速推進(jìn)。通過(guò)共建的方式,華為與眾多生態(tài)伙伴一道,針對(duì)鴻蒙的底座技術(shù)、通用能力及各垂直行業(yè)應(yīng)用場(chǎng)景,推出了一系列開(kāi)發(fā)者場(chǎng)景化解決方案,為開(kāi)發(fā)者提供可復(fù)用、可擴(kuò)展的通用工具,持續(xù)提升鴻蒙應(yīng)用的創(chuàng)新體驗(yàn)與開(kāi)發(fā)效率。
在這一生態(tài)共建的浪潮中,貨拉拉積極貢獻(xiàn)了其在鴻蒙應(yīng)用開(kāi)發(fā)過(guò)程中的寶貴經(jīng)驗(yàn)與技術(shù)積累,開(kāi)源了兩款實(shí)用三方庫(kù)——AspectPro Aop Plugin和page-spy-harmony。這兩款三方庫(kù)直擊應(yīng)用開(kāi)發(fā)過(guò)程中“代碼耦合高”“遠(yuǎn)程調(diào)試難”等高頻痛點(diǎn),不僅為開(kāi)發(fā)者提供更實(shí)用、更高效的開(kāi)發(fā)體驗(yàn),也為鴻蒙應(yīng)用開(kāi)發(fā)能力的建設(shè)注入了新的活力。
AspectPro Aop Plugin:解耦橫切關(guān)注點(diǎn),提升開(kāi)發(fā)維護(hù)效率
在復(fù)雜的應(yīng)用開(kāi)發(fā)過(guò)程中,日志記錄、性能監(jiān)控、權(quán)限校驗(yàn)等功能雖然往往與核心業(yè)務(wù)邏輯關(guān)系不大,但卻必不可少,但這些功能的代碼散布于代碼架構(gòu)的各個(gè)角落。這種現(xiàn)象易導(dǎo)致代碼耦合度增高、業(yè)務(wù)邏輯不夠純粹,不僅降低了代碼的可讀性,也為后期的維護(hù)帶來(lái)了不小的挑戰(zhàn)。
針對(duì)這一典型問(wèn)題,貨拉拉推出了輕量級(jí)鴻蒙運(yùn)行時(shí) hook 框架 AspectPro Aop Plugin,并同步開(kāi)源其編譯時(shí)代碼修改插件 aspect-pro-plugin,兩者配合使用可實(shí)現(xiàn)任意代碼 hook 操作。
AspectPro Aop Plugin 對(duì)齊鴻蒙系統(tǒng)的 AOP 能力,開(kāi)發(fā)者無(wú)需關(guān)心靜態(tài)方法限制,即可對(duì)如按鈕點(diǎn)擊事件、鏈?zhǔn)綐?gòu)造類方法、不可寫(xiě)方法等多類行為進(jìn)行精準(zhǔn) hook,并靈活更改參數(shù)與返回值;而 aspect-pro-plugin 則在編譯階段支持多種代碼掃描、替換與導(dǎo)包策略,支持自定義配置規(guī)則。
通過(guò)引入 AspectPro Aop Plugin,開(kāi)發(fā)者可將橫切邏輯獨(dú)立封裝、與業(yè)務(wù)代碼解耦,從而顯著提升代碼結(jié)構(gòu)清晰度與維護(hù)效率,避免“邏輯混雜”導(dǎo)致的后期維護(hù)成本激增問(wèn)題,提升開(kāi)發(fā)效率與代碼質(zhì)量。這一工具特別適合中大型項(xiàng)目中對(duì)代碼規(guī)范與開(kāi)發(fā)協(xié)作要求較高的團(tuán)隊(duì)使用。
更多關(guān)于“AspectPro Aop Plugin”的詳細(xì)信息和使用指南,請(qǐng)?jiān)L問(wèn)“npm官網(wǎng)”,搜索“aspect-pro-plugin”。
或訪問(wèn) “HarmonyOS開(kāi)發(fā)者官網(wǎng)”, 點(diǎn)擊“開(kāi)發(fā)者”——>“社區(qū)”——>“文章”——>搜索“AspectPro Aop Plugin”。
希望更多廠商和開(kāi)發(fā)者下載使用,并參與到共建行列,共同推進(jìn)這一項(xiàng)目的持續(xù)優(yōu)化和完善。
page-spy-harmony:一站式遠(yuǎn)程調(diào)試平臺(tái),解決真機(jī)調(diào)試“黑盒”難題
鴻蒙應(yīng)用的開(kāi)發(fā)天然帶有“跨設(shè)備協(xié)同”和“多設(shè)備適配”的特點(diǎn)和挑戰(zhàn),這使得調(diào)試工作也相應(yīng)變得更為復(fù)雜。尤其在真機(jī)調(diào)試時(shí),開(kāi)發(fā)者常常會(huì)遇到本地日志信息分散、難以實(shí)時(shí)探查應(yīng)用運(yùn)行時(shí)狀態(tài)(如內(nèi)存數(shù)據(jù)、本地存儲(chǔ)、網(wǎng)絡(luò)請(qǐng)求詳情等)、以及在跨設(shè)備或遠(yuǎn)程協(xié)作時(shí)同步信息不便等問(wèn)題。這些痛點(diǎn)無(wú)疑會(huì)拖慢開(kāi)發(fā)節(jié)奏,延長(zhǎng)問(wèn)題修復(fù)周期。
針對(duì)這些開(kāi)發(fā)者高頻痛點(diǎn),貨拉拉推出遠(yuǎn)程可視化調(diào)試解決方案page-spy-harmony,它采用客戶端-服務(wù)端的架構(gòu):在應(yīng)用中集成一個(gè)輕量級(jí)的設(shè)備端SDK,該SDK會(huì)在運(yùn)行時(shí)采集關(guān)鍵數(shù)據(jù);同時(shí),開(kāi)發(fā)者可以通過(guò)瀏覽器訪問(wèn)一個(gè)功能豐富的Web端控制臺(tái),實(shí)時(shí)接收并可視化展示來(lái)自設(shè)備端的數(shù)據(jù)。
通過(guò)page-spy-harmony,開(kāi)發(fā)者可以一目了然地遠(yuǎn)程查看應(yīng)用的運(yùn)行時(shí)信息,包括詳細(xì)的日志、網(wǎng)絡(luò)請(qǐng)求往來(lái)以及AppStorage中的數(shù)據(jù)等。這不僅極大地提升了調(diào)試效率,還簡(jiǎn)化了遠(yuǎn)程協(xié)作的流程。無(wú)論是團(tuán)隊(duì)成員異地協(xié)作,還是遠(yuǎn)程協(xié)助用戶或測(cè)試人員排查問(wèn)題,page-spy-harmony都能提供有力支持,加速問(wèn)題的定位與修復(fù)。
更多關(guān)于“page-spy-harmony”的詳細(xì)信息和使用指南,請(qǐng)?jiān)L問(wèn)“OpenHarmony官網(wǎng)”,點(diǎn)擊“開(kāi)發(fā)者”——>“三方庫(kù)中心倉(cāng)”——>搜索“page-spy-harmony”;或者登錄“GitHub”官網(wǎng)首頁(yè)搜索“Page-Spy-Harmony”。
或訪問(wèn) “HarmonyOS開(kāi)發(fā)者官網(wǎng)”, 點(diǎn)擊“開(kāi)發(fā)者”——>“社區(qū)”——>“文章”——>搜索“Page-Spy-Harmony”。
希望更多廠商和開(kāi)發(fā)者下載使用,并參與到共建行列,共同推進(jìn)這一項(xiàng)目的持續(xù)優(yōu)化和完善。
共建鴻蒙生態(tài),加速鴻蒙開(kāi)發(fā)能力創(chuàng)新
貨拉拉此次開(kāi)源的AspectPro Aop Plugin和Page-Spy-Harmony,是鴻蒙生態(tài)伙伴貢獻(xiàn)智慧、共促繁榮的又一例證。它們?yōu)轼櫭砷_(kāi)發(fā)者帶來(lái)了切實(shí)有效的解決方案,為提升鴻蒙應(yīng)用開(kāi)發(fā)能力注入了新動(dòng)力。
我們期待更多應(yīng)用廠商和開(kāi)發(fā)者能夠了解并運(yùn)用這些優(yōu)秀的開(kāi)源工具,從中受益,并積極投身于鴻蒙應(yīng)用開(kāi)發(fā)能力的共建。展望未來(lái),華為將繼續(xù)與所有生態(tài)伙伴緊密合作,圍繞底座技術(shù)、通用能力及各垂類場(chǎng)景,推出更多創(chuàng)新性的開(kāi)發(fā)者場(chǎng)景化解決方案,與廣大開(kāi)發(fā)者攜手創(chuàng)新,共建一個(gè)更加繁榮和強(qiáng)大的鴻蒙生態(tài)。