如何优雅地开发HarmonyOS APP应用

开发 OpenHarmony
研究HarmonyOS有一段时间了,今天主要结合自己多年的项目开发经验和各种技术栈结合HarmonyOS APP应用开发讲解下如何优雅地进行开发和积累。

研究HarmonyOS有一段时间了,今天主要结合自己多年的项目开发经验和各种技术栈结合HarmonyOS APP应用开发讲解下如何优雅地进行开发和积累。

一、挖掘项目需求或者做项目移植,并且做技术分析,与HarmonyOS APP应用开发相关知识点进行结合。

这里最简洁的方式就是用一个脑图规划下就好,我这里就拿我之前发布的在线教育APP的项目为例进行介绍下:


二、创建项目工程,采用一个Project多个Moudule的方式进行开发,并且使用git进行托管,开源项目建议使用gitee

下面还是拿我的一个项目进行举例:


我这里一个项目Project下创建了4个Module,默认的entry下并没有编写业务代码,js命名的Module下主要做的FA功能开发,java命名的Module只要做的PA部分功能开发,而roundimage是我编写的自定义组件。做好Module的划分,后期更方便我们进行代码维护和功能复用,比如自定义组件这块任何一个其它工程都可以直接拉过去用。

三、功能模块实现的流程思路

1、先处理主要业务的功能,开始进行UI开发的时候,采用静态数据进行渲染,这里可以将静态数据生成封装到一个方法之中,后期可以直接通过切换方法调用换成云端数据对接或者PA端数据对接,如下是我工程里编写的代码截图:



2、需要接入第三方SDK或者AI引擎的留在最后单独集成调试,比如扫码功能接入、直播功能接入、语音识别等。

3、每个小功能完成之后都要可维可测,并且commit push到git平台。

4、对业务流程较复杂的业务做好时序图进行记录。

四、养成良好的编程规范习惯以及运用设计模式,即使没有详细设计文档也可以快速读完项目代码

1、划分合理的包结构,包名、类名、方法名、变量名等标识符要顾名思义。


2、对关键方法、变量和步骤添加注释说明


3、对常量进行统一定义,避免出现魔鬼数字和字符串


4、每个方法体的内容尽量控制在50行以内,超过50行可以再进行方法封装和调用,这样更方便阅读代码。

5、对Java实体类的封装,只需要采用经典的getter和setter进行封装,不要嵌入@Data这类侵入性比较强的代码,这样是为了更方便在Springboot、Harmony、Android等各类开发中公用一套实体类代码,更方便前后端开发交互和协调。

6、设计模式的合理运用

比如我这里项目有静态版的、PA版的、云端版的,那么可以合理的封装设计,最后采用一个配置项进行一键切换。

以上是我结合多年前端、后端、架构设计等项目开发经验总结的一些经验,希望能够帮助大家快速get鸿蒙开发技能。

©著作权归作者和HarmonyOS技术社区共同所有,如需转载,请注明出处,否则将追究法律责任

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

[[376685]]

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2021-01-28 14:53:19

PHP编码开发

2017-05-22 11:09:53

KotlinAndroid

2019-11-04 14:20:47

APP版本移动端命名

2021-03-24 10:20:50

Fonts前端代码

2021-01-20 08:26:16

中间件技术spring

2024-11-13 16:37:00

Java线程池

2020-03-15 13:57:08

开发薪水技术

2020-03-26 11:04:00

Linux命令光标

2021-05-12 22:07:43

并发编排任务

2022-05-13 21:20:23

组件库样式选择器

2022-05-24 06:07:48

JShack用户代码

2024-04-24 12:34:08

Spring事务编程

2021-09-08 08:34:37

Go 文档Goland

2020-10-22 10:15:33

优化Windows电脑

2018-08-20 10:40:09

Redis位图操作

2020-12-08 08:08:51

Java接口数据

2023-02-13 14:37:13

开发web浏览器

2020-11-06 08:13:03

服务器Nodejs客户端

2020-09-25 11:30:20

Java判空代码

2020-07-09 10:15:55

空值Bug语言
点赞
收藏

51CTO技术栈公众号