鸿蒙开发:资讯项目实战之项目初始化搭建

举报
程序员一鸣 发表于 2025/06/29 15:45:30 2025/06/29
【摘要】 目前来说,我们的资讯项目只是往前迈了很小的一步,仅仅实现了项目创建,步虽小,但概念性的知识很多,这也是这个项目的初衷,让大家不仅仅可以掌握日常的技术开发,也能让大家理解实际的项目开发知识。

前言


本项目API>=13,本章内容很简单,有经验的开发者可以略过。


上篇文章,我们简单概述了此次资讯项目的框架以及代码架构设计,那么本篇文章,我们直接就进入到代码编写阶段,首先确定需要实现哪些模块,虽然说仿照一个今日头条,但是今日头条那么多功能,如果都一一实现完,时间和精力也确实跟不上,毕竟这个项目只用于学习,只要把相关的技术点涵盖到位便可。


我大概分了四个模块,首页资讯模块,视频模块,消息模块和我的模块,最终的效果呈现,目前找了一个资讯App原型,大致如下,最后呈现的效果也尽量贴近原型设计。



以上只是主要模块,而每个模块下又有很多的子模块,这个只能具体实现的时候再说,而对于一些特定的功能,比如轮播图,比如视频的上下滑动查看,虽然原型中没有,但在具体的项目中,也会进行具体实现。


万事开头难,第一步,创建项目,选择一个空的Ability即可,如何创建项目,这里就不多说了,如果您不会,建议看我之前分享的文章,或者查看官方视频或文档都行。

模块创建


在前言中,我们划分了四个模块,那么在创建好的项目,直接创建四个模块即可,类型选择动态共享包,为什么选择动态共享包,一是便于我们组件化运行,二是当有多个安装包需要资源共享时,也可利用HSP减少公共资源和代码重复打包。


点击创建好的项目,选中项目,右键new->Module,就是创建模块。



选择动态共享包Shared Library。



输入模块名字,四个模块,分为为首页模块home,视频模块video,消息模块message,我的模块mine;设备类型,根据自身需要进行选择。



一一创建完毕后,我们的项目,加上主模块entry,就存在了五个模块,效果如下:



虽然有很多模块,但是最终都是被entry进行依赖,而最终的入口也只有一个,当然了测试运行时候,每个模块都可以进行运行。



模块创建完成之后,我们就可以在主模块entry的oh-package.json5中进行依赖:



中间层(common)


为什么要有这个中间层?目的就是为了复用,当我们组件化拆分之后,每个模块都会有相同的功能调用,如网络请求,如资源获取,为了避免代码上的冗余,我们可以把一些公用的资源或者工具放到一起,这也就是中间层产生的原因。


当然了,中间层,也是需要具体问题具体分析,毕竟组件化是为了复用,有了中间层的存在,在日后的项目复用中,那么中间层也是需要复用的,如果你想实现纯粹的单一模块复用,也可以不使用这个中间层,优点是,便于引入,也便于在庞大项目中,给某些人单开某一模块的权限,缺点是代码冗余。


这里,我们选择中间层的模式开发,毕竟各模块之间不仅仅是资源上和工具的复用,也有数据传递的一个纽带作用,所以,我们继续创建一个common模块。



创建完成之后,让四个模块home、video、message、mine分别依赖common模块。



相关总结


目前来说,我们的资讯项目只是往前迈了很小的一步,仅仅实现了项目创建,步虽小,但概念性的知识很多,这也是这个项目的初衷,让大家不仅仅可以掌握日常的技术开发,也能让大家理解实际的项目开发知识。


下一篇文章,我们仍然不会涉及到代码编写,因为虽然我们已经创建好了各个模块,但是摆在眼前,仍然有一个问题存在,那就是,各个模块如何独立运行,这也是我们组件化开发的核心要素之一,如果模块不能独立运行,那就是模块化开发,而非真正意义的组件化开发。


下一篇,会阐述模块如何独立运行,运行包和动态共享包如何切换,请大家敬请期待!


本文标签:鸿蒙新闻资讯类应用

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。