首页 > 其他分享 >《探索 HarmonyOS NEXT(5.0):开启构建模块化项目架构奇幻之旅 —— 构建基础特性层》

《探索 HarmonyOS NEXT(5.0):开启构建模块化项目架构奇幻之旅 —— 构建基础特性层》

时间:2024-12-24 16:42:06浏览次数:9  
标签:5.0 架构 项目 模块化 代码 NEXT HSP 构建 HAR

从无到有,打造模块化项目。构建一个开箱即用的项目,从 Git 上拉取下来即可直接进行开发,其中涵盖路由通信、上下拉刷新、网络请求、事件通知、顶部tab封装等功能,项目里调用API为鸿洋大佬的wanAndroidAPI。后期将持续完善,若有不足之处,诚邀各位大佬多提宝贵建议,共同进步成长。

为啥要模块化

在一些公司,员工可能接手几年前甚至更久远的项目,其架构常是所有代码在一个包中,导致代码混乱,降低可读性和可维护性。维护或更新时,开发人员需在混乱代码中艰难寻找相关部分,耗时耗力且易引入新错误,代码复用性也不高。而模块化架构能有效解决这些问题,提高开发效率和项目质量。

模块化带来的好处

将应用分解为多个功能模块,其中每个模块负责执行特定的功能。通过模块化设计提高了代码的可理解性和可复用性,使应用的扩展和维护变得更为简便,同时降低了系统各部分之间的耦合度。

详细请看官方应用架构概述

应用架构概述

  • 分层架构设计
  • 模块化设计

产品定制层

  • 主要针对跨多种设备,目前以设备类型--手机phone为主,后续再迭代其它多种设备。

image.png

基础特性层

  • 主要针对功能模块进行划分,设计为HAR模块,编译后对应HAR包。比如各个APP底部导航栏有几个Tab。

公共能力层

  • 主要针对公共能力层的各子目录将被编译成HAR包,而他们只能被产品定制层和基础特性层所依赖,不允许存在反向依赖。比如 网络请求模块、公共UI模块、工具模块。

应用模块化选型

  • 一般大部分项目可以直接采用代码架构 单HAP+可选(多HSP)+可选(多HAR)
  • HSP如果是按需加载的那种,比如像支付宝首页(单车、菜鸟等)推荐使用,否则还是推荐HAR。官方也说了,若HSP包和HAR包均能满足业务需求,建议将HSP包改成HAR包。
  • 过多的HSP可能会影响安装效率和App启动性能,那么代码架构采用 单HAP+可选(多HAR)。

image.png

image.png

大概了解后,让我们撸起袖子加油干。

  • 本篇先搭建 产品定制层
  • IDE版本为 5.0.3.906,没有更新的,去官方更新

image.png

  1. 创建一个项目

image.png
2. 傻瓜式创建,点Next

image.png

image.png
3. 这是创建好后的工程目录,发现与我们想要的效果不一样,我们接着改造.

image.png

  • 选中项目,右键New,选Directory,新建一个名为 products 的目录

image.png

image.png

  • 选中 entry 拖入到 products 目录里

image.png

image.png

4.产品定制层 这第一步已经完成了。后续如果增加新的设备,比如平板、手表、车机都可以。

5.项目新增了README.md文件,方便后续的项目介绍与说明

image.png

若本文对您稍有帮助,诚望您不吝点赞,多谢。

有兴趣的同学可以点击查看源码

标签:5.0,架构,项目,模块化,代码,NEXT,HSP,构建,HAR
From: https://www.cnblogs.com/jasonyinh/p/18628068

相关文章

  • 高级技术文章:使用 Kotlin 和 Unirest 构建高效的 Facebook 图像爬虫
    引言随着大数据和人工智能技术的发展,社交媒体数据的价值日益凸显。Facebook作为全球最大的社交平台之一,拥有海量的用户生成内容。本文旨在指导开发者如何通过编程手段,合法合规地从Facebook获取图像数据,以支持研究和商业分析。Kotlin与Unirest简介Kotlin语言Kotl......
  • Taipy是个好神器!Python+Flask+ React快速构建 AI Web 应用的利器
    随着人工智能在各行业的应用越来越广泛,开发快速、高效的AIWeb应用成为众多互联网企业和开发者共同需求。Taipy,作为一个专为Python数据和AIWeb应用构建而生的工具,正迅速赢得大家的青睐。无论是算法专家还是开发新手,Taipy都提供了简洁高效的解决方案,让AIWeb应用......
  • NVR接入录像回放平台EasyCVR如何构建一个高效、透明、可监控的智慧仓库系统?
    在数字化转型的大潮中,智慧仓库的概念应运而生,它代表着物流仓储管理的未来方向。随着直播电商业务的蓬勃发展,传统的仓储物流模式面临着前所未有的挑战,尤其是在订单处理的碎片化问题上。为了应对这些挑战,提升物流仓储运维管理的智能化水平变得尤为迫切。本文将深入探讨如何通过技术......
  • 用 Python 构建一个简单的爬虫:抓取豆瓣电影信息
    用Python构建一个简单的爬虫:抓取豆瓣电影信息爬虫是Python开发者的必备技能之一。本文将带你从零开始,构建一个简单的爬虫,用来抓取豆瓣电影Top250的信息,包括电影名称、评分和简介。目录项目简介环境配置与依赖安装解析目标网站结构编写爬虫代码保存数据到CSV文......
  • Next.js 14 路由进阶:从约定式到动态路由的最佳实践
    在Next.js14中,路由系统是最核心的功能之一。AppRouter不仅带来了更好的性能,还提供了更灵活的路由组织方式。今天,我们就来深入探讨Next.js14的路由系统。路由组织结构1.基础约定Next.js14的路由基于文件系统,每个文件夹代表一个路由段:app/├──page.tsx......
  • 使用http请求触发jenkins构建
    我的需求:每当有一个post请求发送,触发我jenkins的一个构建,生成一个新docker实例。安装jenkins使用docker构建镜像:https://docker.unsee.techdockerpulljenkins/jenkins:ltsmkdir-p~/jenkins_homesudochown1000:1000~/jenkins_home启动dockerrun-d-p8080:808......
  • 基于React+Nextjs+Nodejs开发的web3入门项目
    这是一个学习Web3技术的练习项目。oneNFS是一个音乐创作Web3平台。我们利用区块链技术和先进的加密技术,为艺术家和听众创建一个公平、透明、以用户为中心的生态系统。源码地址:https://github.com/geeeeeeeek/oneNFS演示地址:https://one-nfs.vercel.app/主要功能......
  • 话袋AI:构建你的智慧第二大脑
    在数字化时代,信息如潮水般涌来,如何高效地管理、整合并利用这些信息,成为提升个人竞争力的关键。构建个人第二大脑,正是为了解决这一问题。而话袋AI作为一款智能助手,凭借其强大的自然语言处理能力和学习能力,可以成为我们打造第二大脑的理想工具。以下是如何利用话袋AI打造个人第......
  • ArkUI 的声明式 UI 编程与状态管理:构建高效鸿蒙应用
    ArkUI的声明式UI编程与状态管理:构建高效鸿蒙应用在鸿蒙应用开发领域,ArkUI脱颖而出,其独特的声明式UI编程与高效的状态管理机制,为开发者开辟了一条便捷、高效的开发之路,重塑了移动应用的构建方式。声明式UI编程,摒弃传统命令式繁琐操作,宛如一位精细的画师,用简洁笔触勾勒界......
  • HarmonyOS Next 入门实战 - 关系型数据库、smartdb
    SQLite数据库HarmonyOS的关系型数据库基于SQLite导入模块import{relationalStore}from'@kit.ArkData';实现步骤:获取RdbStore对象,用于创建数据库,数据表,以及数据库升级等操作letstoreConfig={name:'Poetry.db',//数据库文件名securityLevel:relationalSt......