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

前言

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

相关总结

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

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

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

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

相关推荐
恋猫de小郭2 小时前
Flutter 发布官方 Skills ,Flutter 在 AI 领域再添一助力
android·前端·flutter
Kapaseker7 小时前
一杯美式搞懂 Any、Unit、Nothing
android·kotlin
黄林晴7 小时前
你的 Android App 还没接 AI?Gemini API 接入全攻略
android
恋猫de小郭18 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
冬奇Lab19 小时前
PowerManagerService(上):电源状态与WakeLock管理
android·源码阅读
BoomHe1 天前
Now in Android 架构模式全面分析
android·android jetpack
Hcourage1 天前
鸿蒙工程获取C/C++代码覆盖
harmonyos
ssshooter1 天前
Tauri 踩坑 appLink 修改后闪退
前端·ios·rust
二流小码农1 天前
鸿蒙开发:上传一张参考图片便可实现页面功能
android·ios·harmonyos
鹏程十八少1 天前
4.Android 30分钟手写一个简单版shadow, 从零理解shadow插件化零反射插件化原理
android·前端·面试