近日,企查查将其自研的鸿蒙弹窗组件库“QuickDialog”开源,并上线至 OpenHarmony 三方库中心仓。这是鸿蒙生态首个支持“弹窗堆栈暂存能力”的非侵入式弹窗解决方案,凭借其灵活、高效、可复用的设计理念,有望成为鸿蒙应用开发中管理复杂弹窗场景的最佳实践方案之一。
在当前鸿蒙应用开发中,弹窗能力主要依赖 @CustomDialog 或 promptAction.openCustomDialog 等方案实现。这些方式虽然基础能力齐全,但自定义弹窗的生命周期仅支持单次弹出与关闭,无法暂存弹窗堆栈状态,也无法同时满足弹窗模态、层级的互斥关系,较大程度上限制了弹窗定义的自由度。
企查查作为首批深耕鸿蒙平台的头部应用厂商,在自身App鸿蒙化过程中,历经多轮技术方案演进,最终打造出当前这套基于Overlay与Node双机制、支持弹窗状态暂存与组件复用的非侵入式弹窗方案QuickDialog,并正式对外开源。
QuickDialog以“可维护、可拓展”为设计理念,围绕复杂弹窗场景中的共性痛点,提供以下核心技术能力:
弹窗堆栈暂存能力:支持多个弹窗的层级管理与状态保持,用户可任意中断或恢复某一弹窗流转,大幅提升弹窗交互的灵活性;
无侵入式控件创建机制:采用Node方式动态生成弹窗内容,无需修改业务页面结构,减少耦合,便于维护;
Overlay 接管生命周期:通过将弹窗依附于自定义页面,自主接管生命周期管理,支持弹窗与页面双向通信;
装饰器与弹窗内容解耦,支持复用:支持将同一弹窗内容搭配多种装饰器结构,灵活适配不同交互场景,提升开发效率;
页面绑定式弹窗层级自由管理:每个弹窗基于页面结构进行绑定控制,实现清晰的显示/隐藏管理与模态规则控制。
在企查查鸿蒙App的开发实践中,QuickDialog已全面替代传统弹窗方案,实现了弹窗体系的统一重构。在复杂用户操作流程中,用户可在不同页面中保留弹窗堆栈状态,实现从多任务中返回继续处理,大幅改善使用体验。对于开发者而言,QuickDialog 的接入完全基于组件调用与绑定机制,无需改动现有页面结构或状态流,大大降低弹窗系统的开发与维护成本,开发效率显著提升。
QuickDialog现已上架OpenHarmony三方库中心仓,开发者可通过搜索“quickdialog”获取源码、使用指南与示例工程,快速集成到各类应用中,实现高效的弹窗管理。
企查查希望通过开源 QuickDialog,与开发者共同推动鸿蒙生态中弹窗基础能力的标准化与技术演进,降低高复杂交互场景的技术门槛,赋能更多应用实现体验创新。
未来,华为还将联合伙伴持续共建创新,面向底座技术、通用能力、垂类行业等场景推出系列开发者场景化解决方案,不断提升鸿蒙应用的创新体验和开发效率,与广大开发者共建繁荣的鸿蒙生态。
更多关于“QuickDialog”的详细信息和使用指南,请访问“OpenHarmony 三方库中心仓”,搜索“quickdialog”。