用模块化思维,5分钟搭建一个完整的鸿蒙应用
前言:鸿蒙开发的痛点
作为一名鸿蒙开发者,你是否遇到过这些问题:
- 🤯 项目结构混乱 - 代码文件散落各处,找不到入口
- 😫 重复造轮子 - 每个项目都要重新写登录、网络请求、状态管理
- 😵 团队协作难 - 没有统一规范,新人上手慢
- 🤬 功能复用困难 - 想复用 A 项目的功能到 B 项目,复制粘贴一堆依赖
如果你中了其中任何一条,那么 HCompass 框架就是为你准备的解决方案。
什么是 HCompass?
HCompass 是一个基于 HarmonyOS NEXT / ArkTS / ArkUI 的开源快速开发框架,核心理念是:
"像搭积木一样构建鸿蒙应用"
通过四层架构 + 功能包机制,让你:
- ✅ 模块化开发 - 功能独立,随用随取
- ✅ 代码高度复用 - 一次开发,多处使用
- ✅ 团队规范统一 - 标准项目结构,新人秒懂
- ✅ 维护成本降低 - 改一处,处处生效
HCompass 架构解析
四层架构设计
HCompass 采用经典的分层架构,从上到下依次为:
┌─────────────────────────────────────────┐
│ Entry(应用入口) │ ← 初始化框架、注册模块、启动App
├─────────────────────────────────────────┤
│ Packages(业务功能包) │ ← 独立业务模块:登录/首页/用户中心等
├─────────────────────────────────────────┤
│ Shared(共享契约层) │ ← 服务接口定义、共享状态、类型定义
├─────────────────────────────────────────┤
│ Core(框架核心层) │ ← 路由/网络/DI/数据库/UI组件等基础设施
└─────────────────────────────────────────┘
每一层职责清晰、边界明确:
| 层级 | 职责 | 说明 |
|---|---|---|
| Entry | 应用入口 | 初始化框架、注册功能包、配置路由、启动应用 |
| Packages | 业务功能包 | 独立业务模块,通过 DI 注入实现解耦 |
| Shared | 共享契约 | 定义功能包之间的服务接口、共享状态和类型 |
| Core | 框架核心 | 与业务无关的通用能力,可直接复用到其他项目 |
功能包机制(核心亮点)
功能包(Package) 是 HCompass 的灵魂设计。
一个功能包就是一个独立的业务模块,比如:
- 🔐
auth- 登录认证功能包 - 🏠
main- 首页功能包 - 👤
user- 用户中心功能包 - 🛒
shop- 商城功能包 - 💬
chat- 即时通讯功能包
每个功能包遵循标准结构:
packages/user/ # 用户功能包
├── navigation/ # 导航配置(页面路由)
├── services/ # 服务实现
│ └── UserServiceImpl.ets # 用户服务实现
├── view/ # 页面(View)
│ ├── UserProfilePage.ets # 用户资料页
│ └── UserSettingsPage.ets # 用户设置页
├── viewmodels/ # 视图模型(ViewModel)
│ ├── UserProfileViewModel.ets # 用户资料VM
│ └── UserSettingsViewModel.ets # 用户设置VM
├── models/ # 数据模型(可选)
├── components/ # 组件(可选)
└── UserModule.ets # 功能包生命周期(核心)
功能包的核心优势:
- 独立开发 - 每个功能包可以独立开发、测试、调试
- 即插即用 - 需要哪个功能,就把对应功能包 copy 到新项目
- 依赖注入 - 功能包之间通过 DI 解耦,不直接依赖
- 生命周期管理 - 每个功能包有自己的初始化/销毁流程
- 版本独立 - 可以独立升级某个功能包,不影响其他模块
5分钟快速上手
看完架构介绍,是不是已经跃跃欲试了?下面我们用 5 分钟,从零搭建一个包含登录、首页、用户中心的完整鸿蒙应用。
环境准备
- DevEco Studio 5.0 或更高版本
- HarmonyOS SDK 最新稳定版
- Node.js 18.0+
第一步:获取 HCompass 框架
git clone https://github.com/codelably/HCompass.git
cd HCompass
第二步:用 DevEco Studio 打开项目
- 打开 DevEco Studio
- 选择
File -> Open,选中HCompass文件夹 - 等待 Gradle 同步完成(大概2-3分钟)
第三步:认识项目结构
HCompass/
├── entry/ # 应用入口
│ └── src/main/ets/
│ ├── entryability/ # EntryAbility 初始化
│ ├── navigation/ # 导航主机
│ └── view/ # 入口页面
├── core/ # 框架核心层(不用改)
├── shared/ # 共享契约层(按需扩展)
└── packages/ # 业务功能包(重点在这)
├── auth/ # 登录认证
├── main/ # 首页
├── user/ # 用户中心
└── demo/ # 示例功能包
第四步:运行应用
- 连接鸿蒙手机或启动鸿蒙模拟器
- 点击 DevEco Studio 顶部工具栏的 运行按钮(绿色三角形)
- 等待编译完成,App 会自动安装到设备上
恭喜! 你现在看到的是一个包含登录、首页、用户中心的完整鸿蒙应用,而这只是 HCompass 的默认示例功能包。
第五步:创建自己的功能包(进阶)
如果你想开发一个新功能,比如 商城模块,只需要:
- 在
packages/目录下创建shop文件夹 - 按照功能包标准结构创建文件
- 在
entry中注册这个功能包 - 搞定!
HCompass 会自动处理路由注册、依赖注入、生命周期管理等复杂逻辑,你只需要专注写业务代码。
总结
HCompass 通过四层架构、功能包机制和一系列开箱即用的特性,为鸿蒙开发者提供了一套完整的快速开发解决方案。
核心优势回顾
| 特性 | 解决的问题 | 带来的价值 |
|---|---|---|
| 四层架构 | 项目结构混乱 | 清晰分层,易于维护 |
| 功能包机制 | 功能难以复用 | 即插即用,高度复用 |
| DI 容器 | 模块耦合严重 | 解耦依赖,易于测试 |
| 导航系统 | 路由管理混乱 | 集中配置,类型安全 |
| 网络封装 | 网络代码重复 | 统一处理,简洁调用 |
| 基础父类 | 样板代码过多 | 封装共性,专注业务 |
| 设计系统 | 视觉风格不一 | 统一规范,快速搭建 |
| ORM 封装 | 数据库操作繁琐 | 类型安全,简洁优雅 |
| 状态管理 V2 | 状态混乱难以追踪 | 精确追踪,自动持久化 |
适合谁用?
HCompass 特别适合以下场景:
✅ 中大型鸿蒙应用 - 需要清晰架构和模块化设计
✅ 多项目复用 - 希望一套代码在多个项目中复用
✅ 团队协作 - 需要统一开发规范和项目结构
✅ 快速迭代 - 希望减少样板代码,专注业务逻辑
不适合谁用?
❌ 超小型项目 - 只是做个简单的 Demo,没必要引入框架
❌ 学习阶段 - 刚学鸿蒙开发,建议先掌握基础再使用框架
如何开始?
- 访问 GitHub → github.com/codelably/H…
- Clone 项目 →
git clone https://github.com/codelably/HCompass.git - 阅读文档 → hcompass.codelably.com
- Star 项目 → 如果觉得有用,给个 Star 支持一下 ⭐
参与贡献
HCompass 是开源项目,欢迎各种形式的贡献:
- 🐛 提交 Issue - 发现问题或有新需求
- 🔧 提交 PR - 修复 Bug 或添加新功能
- 📝 完善文档 - 帮助改进文档和教程
- ⭐ Star 项目 - 让更多人知道这个项目
结语
鸿蒙生态正在快速发展,作为开发者,我们需要更好的工具来提高效率。HCompass 就是为了解决这个问题而生的——让鸿蒙开发更简单、更高效。
如果你正在寻找一个好用的鸿蒙开发框架,不妨试试 HCompass。相信它会给你带来惊喜!
像搭积木一样,快速构建你的鸿蒙应用! 🚀
项目地址: github.com/codelably/H…
官方文档: hcompass.codelably.com