【HarmonyOS NEXT】组件化与模块化的理解

一、背景

在鸿蒙开发中,组件和模块两者是属于部分与整体的包含关系,核心是为了实现模块化拆分,组件化复用,让开发更高效,维护更简单。

二、组件 (Component)

2.1、是什么?

@Component装饰的结构体(ArkTS),每个组件通过对数据和方法的简单封装,实现独立的可视、可交互功能单元。组件之间相互独立,随取随用,也可以在需求相同的地方重复使用。

2.2、目的

解决 "UI / 功能重复开发" 问题,解耦应用功能,实现UI能力复用与独立管理

如:一个UI块出现 ≥ 2 的场景,就可以考虑UI组件的封装

2.3、怎么用

举例:我这个轮播图的UI效果在2个组件中都有使用到,这种属于UI/功能重复的开发,可以考虑封装公共的UI组件,在组件内书写UI,具体界面与能力由需求方实现

第一步:封装公共轮播图组件

第二步:页面内使用

三、模块 (Module)

3.1、是什么?

模块是按业务或功能划分的独立代码目录,一个模块对应一个功能的完整代码、资源、配置和依赖的集合,可以被独立编译、测试和部署

3.2、目的

解决 "代码混乱、协作困难" 问题,实现工程的解耦、团队并行开发、功能复用,并优化编译速度

3.3、怎么用

参考我写的这篇文章,关于模块的使用有两种方式👇

https://blog.csdn.net/weixin_71403100/article/details/155428242?spm=1001.2014.3001.5502

四、两者的关系

两者是属于部分与整体的包含关系,一个模块内(特别是Entry/Feature HAP)可以包含一个或多个组件;一个组件 必须存在于某个模块中,模块是组件的容器和载体

五、两者的区别对比

对比项 组件(Component) 模块(Module)
大小 最小(单个 UI / 功能单元) 较大(一组相关功能集合)
核心作用 复用 UI 和独立逻辑 拆分业务、独立维护、跨项目复用
存在形式 单个.ets文件(@Component装饰) 独立目录(含组件、页面、资源等)
配置文件 无需单独配置 必须有build-profile.json5
编译方式 随模块一起编译 可独立编译、打包成 HAR 包
相关推荐
2301_768103491 小时前
HarmonyOS趣味相机实战第29篇:AudioRenderer合成快门声、并发门闩与资源释放
harmonyos·arkts·资源管理·音频开发·audiorenderer
listening7772 小时前
HarmonyOS 6.1 混沌工程实战:从“故障免疫”到“韧性架构”
华为·架构·harmonyos
特立独行的猫a2 小时前
Python三方库鸿蒙PC移植指南PPT
harmonyos·移植·鸿蒙pc·python三方库
程序员黑豆2 小时前
鸿蒙应用开发:ForEach 循环渲染用法详解
前端·harmonyos
b130538100493 小时前
HarmonyOS应用开发实战:萌宠日记 - 环比增长指示器
harmonyos·鸿蒙
爱写代码的森3 小时前
鸿蒙三方库 | harmony-utils之LocationUtil位置获取与订阅详解
华为·harmonyos·鸿蒙·huawei
Helen_cai3 小时前
OpenHarmony API23 四层模块化脚手架完整实现(含全套工具源码)
华为·harmonyos
qizayaoshuap3 小时前
# [特殊字符] 指南针 — 鸿蒙ArkTS方向计算与方位跟踪系统
华为·harmonyos
达子6664 小时前
第5章_图解harmonyos Ability基础知识
华为·harmonyos
国服第二切图仔4 小时前
02-breakpoint-system
运维·harmonyos