近日,企查查將其自研的鴻蒙彈窗組件庫“QuickDialog”開源,并上線至OpenHarmony 三方庫中心倉。這是鴻蒙生態(tài)首個(gè)支持“彈窗堆棧暫存能力”的非侵入式彈窗解決方案,憑借其靈活、高效、可復(fù)用的設(shè)計(jì)理念,有望成為鴻蒙應(yīng)用開發(fā)中管理復(fù)雜彈窗場景的最佳實(shí)踐方案之一。
在當(dāng)前鴻蒙應(yīng)用開發(fā)中,彈窗能力主要依賴 @CustomDialog 或 promptAction.openCustomDialog 等方案實(shí)現(xiàn)。這些方式雖然基礎(chǔ)能力齊全,但自定義彈窗的生命周期僅支持單次彈出與關(guān)閉,無法暫存彈窗堆棧狀態(tài),也無法同時(shí)滿足彈窗模態(tài)、層級(jí)的互斥關(guān)系,較大程度上限制了彈窗定義的自由度。
企查查作為首批深耕鴻蒙平臺(tái)的頭部應(yīng)用廠商,在自身App鴻蒙化過程中,歷經(jīng)多輪技術(shù)方案演進(jìn),最終打造出當(dāng)前這套基于Overlay與Node雙機(jī)制、支持彈窗狀態(tài)暫存與組件復(fù)用的非侵入式彈窗方案QuickDialog,并正式對(duì)外開源。
QuickDialog以“可維護(hù)、可拓展”為設(shè)計(jì)理念,圍繞復(fù)雜彈窗場景中的共性痛點(diǎn),提供以下核心技術(shù)能力:
彈窗堆棧暫存能力:支持多個(gè)彈窗的層級(jí)管理與狀態(tài)保持,用戶可任意中斷或恢復(fù)某一彈窗流轉(zhuǎn),大幅提升彈窗交互的靈活性;
無侵入式控件創(chuàng)建機(jī)制:采用Node方式動(dòng)態(tài)生成彈窗內(nèi)容,無需修改業(yè)務(wù)頁面結(jié)構(gòu),減少耦合,便于維護(hù);
Overlay 接管生命周期:通過將彈窗依附于自定義頁面,自主接管生命周期管理,支持彈窗與頁面雙向通信;
裝飾器與彈窗內(nèi)容解耦,支持復(fù)用:支持將同一彈窗內(nèi)容搭配多種裝飾器結(jié)構(gòu),靈活適配不同交互場景,提升開發(fā)效率;
頁面綁定式彈窗層級(jí)自由管理:每個(gè)彈窗基于頁面結(jié)構(gòu)進(jìn)行綁定控制,實(shí)現(xiàn)清晰的顯示/隱藏管理與模態(tài)規(guī)則控制。
在企查查鴻蒙App的開發(fā)實(shí)踐中,QuickDialog已全面替代傳統(tǒng)彈窗方案,實(shí)現(xiàn)了彈窗體系的統(tǒng)一重構(gòu)。在復(fù)雜用戶操作流程中,用戶可在不同頁面中保留彈窗堆棧狀態(tài),實(shí)現(xiàn)從多任務(wù)中返回繼續(xù)處理,大幅改善使用體驗(yàn)。對(duì)于開發(fā)者而言,QuickDialog 的接入完全基于組件調(diào)用與綁定機(jī)制,無需改動(dòng)現(xiàn)有頁面結(jié)構(gòu)或狀態(tài)流,大大降低彈窗系統(tǒng)的開發(fā)與維護(hù)成本,開發(fā)效率顯著提升。
QuickDialog現(xiàn)已上架OpenHarmony三方庫中心倉,開發(fā)者可通過搜索“quickdialog”獲取源碼、使用指南與示例工程,快速集成到各類應(yīng)用中,實(shí)現(xiàn)高效的彈窗管理。
企查查希望通過開源 QuickDialog,與開發(fā)者共同推動(dòng)鴻蒙生態(tài)中彈窗基礎(chǔ)能力的標(biāo)準(zhǔn)化與技術(shù)演進(jìn),降低高復(fù)雜交互場景的技術(shù)門檻,賦能更多應(yīng)用實(shí)現(xiàn)體驗(yàn)創(chuàng)新。
未來,華為還將聯(lián)合伙伴持續(xù)共建創(chuàng)新,面向底座技術(shù)、通用能力、垂類行業(yè)等場景推出系列開發(fā)者場景化解決方案,不斷提升鴻蒙應(yīng)用的創(chuàng)新體驗(yàn)和開發(fā)效率,與廣大開發(fā)者共建繁榮的鴻蒙生態(tài)。
更多關(guān)于“QuickDialog”的詳細(xì)信息和使用指南,請?jiān)L問“OpenHarmony 三方庫中心倉”,搜索“quickdialog”。
OpenHarmony 三方庫中心倉-quickdialog源代碼:https://ohpm.openharmony.cn/#/cn/detail/quickdialog
場景化共建官網(wǎng)鏈接:
https://developer.huawei.com/consumer/cn/blog/topic/03185823567123093
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )