【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 包
相关推荐
天聚数行2 小时前
华为鸿蒙系统(HarmonyOS)调用天聚数行 API 教程
华为·php·harmonyos·tianapi·天聚数行
BlackWolfSky3 小时前
鸿蒙加解密
华为·harmonyos
融云3 小时前
融云 4 款 SDK 首批通过 GIIC 鸿蒙生态评测
华为·harmonyos
讯方洋哥4 小时前
HarmonyOS应用开发—页面路由
华为·harmonyos
鸿蒙开发工程师—阿辉4 小时前
HarmonyOS 5 高效使用命令:HDC 基本使用
华为·harmonyos
梧桐ty4 小时前
鸿蒙 + Flutter:构建万物互联时代的跨平台应用新范式
flutter·华为·harmonyos
m0_685535086 小时前
光机结构设计
华为·光学·光学设计·光学工程·镜头设计
梧桐ty6 小时前
鸿蒙 + Flutter:破解“多端适配”困局,打造万物互联时代的高效开发范式
flutter·华为·harmonyos
Python私教6 小时前
鸿蒙应用的测试和调试完全指南:从单元测试到性能分析
华为·单元测试·harmonyos
Archilect6 小时前
终点、光圈与 Lottie 生命周期:复杂关闭动效的「收尾工程」
harmonyos