【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 包
相关推荐
晚霞的不甘1 小时前
Flutter 与开源鸿蒙(OpenHarmony)生态融合:从 UI 渲染到系统级能力调用的全链路开发范式
flutter·开源·harmonyos
花先锋队长1 小时前
华为Mate X7:高级感,从何而来?
科技·华为·智能手机·harmonyos
2***65631 小时前
华为数据中心CE系列交换机级联M-LAG配置示例
服务器·华为·php
IT从业者张某某1 小时前
DAY2-Open Harmony PC 命令行适配指南(Windows版)-Tree命令行工具下载篇
harmonyos
嘴贱欠吻!1 小时前
开源鸿蒙-基于Flutter搭建GitCode口袋工具-2
flutter·华为·开源·harmonyos·gitcode
遇到困难睡大觉哈哈1 小时前
Harmony os——ArkTS 语言笔记(七):注解(Annotation)实战理解
java·笔记·ubuntu·harmonyos·鸿蒙
国服第二切图仔1 小时前
Electron for 鸿蒙PC项目实战案例之气泡图组件
javascript·electron·harmonyos
晚霞的不甘1 小时前
Flutter 与开源鸿蒙(OpenHarmony)扩展开发指南:自定义插件、系统能力封装与生态工具链建设
flutter·开源·harmonyos
沟通QQ:4877392781 小时前
纯Verilog实现万兆网以太网完整UDP协议,支持ARP和ping功能,Xilinx平台产品...
华为