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

程序员一鸣
发布于 2025-6-29 16:06
浏览
0收藏

前言


本项目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模块。


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


相关总结


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


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

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


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

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
    相关推荐