ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

HarmonyOS应用分层架构设计

HarmonyOS应用分层架构设计 HarmonyOS 应用的分层架构设计基于一套代码工程支持华为手机、PC/2in1 等 18 全场景设备实现一次开发多端部署。一、设计理念HarmonyOS 应用分层架构包括三层产品定制层Product Customization Layer基础特性层Basic Feature Layer公共能力层Common Capability Layer三层构建了清晰、高效、可扩展的设计架构。二、逻辑模型1. 产品定制层产品定制层专注于满足不同设备或使用场景的个性化需求包括UI 设计资源和配置特定场景的交互逻辑和功能特性特性产品定制层的功能模块独立运作依赖基础特性层和公共能力层实现具体功能产品定制层作为应用的入口是用户直接互动的界面为了满足特定需求产品定制层可以灵活调整和扩展以适应各种使用场景2. 基础特性层基础特性层位于公共能力层之上用于存放相对独立的功能 UI 和业务逻辑实现。关键特性每个功能模块都具备高内聚、低耦合、可定制的特点支持产品的灵活部署为产品定制层提供稳健且丰富的基础功能支持包括 UI 组件和基础服务公共能力层为其提供通用功能和服务为了增强系统的可扩展性和维护性基础特性层对功能进行了模块化处理举例应用底部导航栏的每个选项都是一个独立的业务模块。3. 公共能力层公共能力层存放公共基础能力包括公共 UI 组件数据管理外部交互工具库特性应用可调用这些公共能力提供稳定可靠的功能支持确保应用的稳定性和可维护性公共能力层的四个组成部分组成部分说明公共 UI 组件设计为通用且高度可复用确保在不同应用程序模块间保持一致的用户体验。提供标准化、友好的界面帮助开发者快速实现常见的用户交互需求如提示、警告和加载状态显示从而提高开发效率和用户满意度数据管理负责应用程序中数据的存储和访问包括应用数据、系统数据等。提供了统一的数据管理接口简化数据的读写操作。通过集中式的数据管理方式不仅使得数据的维护更为简单而且能够保证数据的一致性和安全性外部交互负责应用程序与外部系统的交互包括网络请求、文件 I/O、设备 I/O等。提供统一的外部接口简化应用程序与外部系统的交互。开发者可以方便地实现网络通信、数据存储和硬件接入从而加速开发流程并保证程序的稳定性和性能工具库提供一系列常用工具函数和类如字符串处理、日期时间处理、加密解密、数据压缩解压等帮助开发者提高效率和代码质量三、开发模型1. 产品定制层产品定制层的各个子目录会被编译成一个Entry 类型的 HAP作为应用的主入口该层面向多种设备集成相应功能和特性产品定制层划分为多个功能模块每个模块针对特定设备或使用场景设计并根据产品需求进行功能和交互的定制开发说明在产品定制层可以从不同设备对应的应用 UX 设计和功能两个维度结合具体的业务场景选择一次编译生成相同或者不同的 HAP或其组合。通过使用定制多目标构建产物的定制功能可以将应用所对应的 HAP 编译成各自的.app 文件用于上架到应用市场。2. 基础特性层在基础特性层中功能模块根据部署需求被分为两类部署需求模块类型编译产物需要通过 Ability 承载的功能Feature 类型的 HAPHAP 包不需要通过 Ability 承载且需要实现按需加载HSP 模块HSP 包不需要通过 Ability 承载且不需要按需加载HAR 模块HAR 包3. 公共能力层公共能力层的各子目录将编译成HAR 包仅产品定制层和基础特性层可依赖不允许反向依赖该层提取模块化公共基础能力为上层提供标准接口和协议提高复用率和开发效率四、部署模型应用程序.app 文件在流水线或应用市场上被解包为N 个 Entry 类型的 HAP和N 个 Feature 类型的 HAP根据设备类型和使用场景部署到不同设备实现多端统一用户体验。说明当 Entry 类型的 HAP 和 Feature 类型的 HAP 被分发并部署到相应设备时它们所依赖的HSP 也会一同被分发并部署到相应设备上。核心逻辑每个Entry 类型的 HAP代表了应用的入口点Feature 类型的 HAP则包含了应用的特定功能模块允许应用能够以模块化的方式适配和部署从而满足不同设备和场景的需求其价值优化了应用的组织结构确保了应用在各种设备和场景中的一致性通过根据设备类型和使用场景区分和部署不同的 HAP用户在任何设备或场景中都能获得统一且高质量的体验五、各层职责层级核心职责编译产物依赖关系产品定制层满足不同设备/场景的个性化需求UI 设计、资源配置、特定交互逻辑Entry 类型 HAP可定制多目标依赖基础特性层和公共能力层基础特性层存放相对独立的功能 UI 和业务逻辑模块化设计Feature 类型 HAP / HAR / HSP依赖公共能力层公共能力层公共 UI 组件、数据管理、外部交互、工具库HAR 包仅被上层依赖不允许反向依赖分层架构的核心思想是分层解耦 模块化 按需部署分层解耦三层各司其职依赖单向便于维护模块化基础特性层按业务拆分成独立模块高内聚低耦合按需部署通过 HAP / HAR / HSP 的不同组合适配手机、PC/2in1 等多种设备如果要做多端应用建议按这个架构规划公共能力抽到公共能力层编译成 HAR 复用业务功能按模块拆到基础特性层根据是否需要 Ability 和按需加载选择 HAP / HAR / HSP设备定制放产品定制层用多目标构建生成不同 HAP实现一次开发多端部署
返回列表