《探索 HarmonyOS NEXT(5.0):开启构建模块化项目架构奇幻之旅 —— 模块化基础篇》
2024-12-17 11:03:49
123次阅读
0个评论
最后修改时间:2024-12-18 11:26:02
已上架的元服务
大家帮个忙。搜索一下下面的元服务,进去看一眼就行
- 家具风格分类转盘
- 宠物品种分类转盘
- 星座特点分类转盘
- 妙语集语
从无到有,打造模块化项目。构建一个开箱即用的项目,从 Git 上拉取下来即可直接进行开发,其中涵盖路由通信、上下拉刷新、网络请求、事件通知、顶部tab封装等功能,项目里调用API为鸿洋大佬的wanAndroidAPI。后期将持续完善,若有不足之处,诚邀各位大佬多提宝贵建议,共同进步成长。
为啥要模块化
在一些公司,员工可能接手几年前甚至更久远的项目,其架构常是所有代码在一个包中,导致代码混乱,降低可读性和可维护性。维护或更新时,开发人员需在混乱代码中艰难寻找相关部分,耗时耗力且易引入新错误,代码复用性也不高。而模块化架构能有效解决这些问题,提高开发效率和项目质量。
模块化带来的好处
将应用分解为多个功能模块,其中每个模块负责执行特定的功能。通过模块化设计提高了代码的可理解性和可复用性,使应用的扩展和维护变得更为简便,同时降低了系统各部分之间的耦合度。
详细请看官方应用架构概述
- 分层架构设计
- 模块化设计
产品定制层
- 主要针对跨多种设备,目前以设备类型--手机phone为主,后续再迭代其它多种设备。
基础特性层
- 主要针对功能模块进行划分,设计为HAR模块,编译后对应HAR包。比如各个APP底部导航栏有几个Tab。
公共能力层
- 主要针对公共能力层的各子目录将被编译成HAR包,而他们只能被产品定制层和基础特性层所依赖,不允许存在反向依赖。比如 网络请求模块、公共UI模块、工具模块。
应用模块化选型
- 一般大部分项目可以直接采用代码架构 单HAP+可选(多HSP)+可选(多HAR)
- HSP如果是按需加载的那种,比如像支付宝首页(单车、菜鸟等)推荐使用,否则还是推荐HAR。官方也说了,若HSP包和HAR包均能满足业务需求,建议将HSP包改成HAR包。
- 过多的HSP可能会影响安装效率和App启动性能,那么代码架构采用 单HAP+可选(多HAR)。
大概了解后,让我们撸起袖子加油干。
- 本篇先搭建 产品定制层
- IDE版本为 5.0.3.906,没有更新的,去官方更新
- 创建一个项目
2. 傻瓜式创建,点Next
3. 这是创建好后的工程目录,发现与我们想要的效果不一样,我们接着改造.
- 选中项目,右键New,选Directory,新建一个名为 products 的目录
- 选中 entry 拖入到 products 目录里
4.产品定制层 这第一步已经完成了。后续如果增加新的设备,比如平板、手表、车机都可以。
5.项目新增了README.md文件,方便后续的项目介绍与说明
若本文对您稍有帮助,诚望您不吝点赞,多谢。
有兴趣的同学可以点击查看源码
- gitee:https://gitee.com/jiaojiaoone/explore-harmony-next.git
- github:https://github.com/JasonYinH/ExploreHarmonyNext.git
欢迎加我微信一起交流
00
- 0回答
- 0粉丝
- 1关注
相关话题
- 《探索 HarmonyOS NEXT(5.0):开启构建模块化项目架构奇幻之旅 —— 构建基础特性层》
- 《探索 HarmonyOS NEXT(5.0):开启构建模块化项目架构奇幻之旅 —— 构建公共能力层》
- 《探索 HarmonyOS NEXT(5.0):开启构建模块化项目架构奇幻之旅 —— Tabs底部导航栏》
- 《探索 HarmonyOS NEXT (5.0):开启构建模块化项目架构奇幻之旅 —— 动态路由 ZRouter:引领高效模块通信的智慧中枢》
- 《探索 HarmonyOS NEXT(5.0):开启构建模块化项目架构奇幻之旅 ——第三方库的使用:网络请求RCP、二次封装上下拉刷新、弹窗》
- HarmonyOS NEXT:模块化项目 ——修改应用图标+启动页等
- HarmonyOS NEXT模块化设计实践:打造简洁高效的登录注册页面
- HarmonyOS NEXT应用开发实战:十二、远场通信RCP简单好用的模块化封装
- 【HarmonyOS Next开发】端云一体化初始化项目
- 探索 HarmonyOS:开启万物互联新时代
- 探索 ArkTS:开启高效前端开发新时代
- 探索 ArkUI:开启智能界面开发新时代
- 元服务—基础篇(创建新项目)
- 用Cocos Creator 3.8.5 构建一个HarmonyOS NEXT应用
- 使用 Flutter SDK 3.22.1构建HarmonyOS应用