目录:

一、挖掘项目需求或者做项目移植

二、创建项目工程

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

四、养成良好的编程规范习惯以及运用设计模式

研究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鸿蒙开发技能。

作者:软通夏德旺

想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/

如何优雅地开发HarmonyOS APP应用的更多相关文章

  1. 如何优雅的使用vue+Dcloud(Hbuild)开发混合app

    如何优雅的使用vue+Dcloud(Hbuild)开发混合app 最近在做混合app,前端框架用的是vue,打包app使用的是Dcloud,不过在开发过程中有一点不爽的是,如果想使用Dcloud提供的 ...

  2. 开发一个 app 有多难?

    171 个回答 默认排序​ 道衍天机 有事情的加微信1293190838找我 1,150 人赞同了该回答 ----------------------------------------------- ...

  3. UWP开发:APP之间的数据交互(以微信为例)

    目录 说明 UWP应用唤醒方式 跟微信APP交互数据 APP之间交互数据的前提 说明 我们经常看到,在手机上不需要退到桌面,APP之间就可以相互切换,并且可以传递数据.比如我在使用知乎APP的时候,需 ...

  4. 【转载】用Ionic开发hybrid APP

    使用phonegap开发APP的优劣在此不必细说,快速,简单,跨平台,以及随着iOS,Android本身对webview优化所带来的不错的性能,便是其独有的优势.而且私以为在目前激烈而又变化快速的移动 ...

  5. 分享 Ionic 开发 Hybrid App 中遇到的问题以及后期发布 iOS/Android 的方方面面

    此篇文章主要整理了最近在使用 Ionic 开发 Hybrid App 过程中遇到的一些疑难点以及后期发布生成 iOS 和 Android 版本过程中的种种问题. 文章目录 Ionic 简介和项目需求介 ...

  6. 后移动互联网时代:到底还要不要开发一个App?

    后移动互联网时代,到底是什么样的一个时代? 首先,后移动互联网时代中,产生头部应用的几率变小了,像微信这样巨头式的App很难在产生第二个.其次,后移动互联网时代,物联网发展迅速,所有的智能硬件都需要一 ...

  7. 亲手使用Sencha Touch + phonepag开发Web APP随笔 -- 第一个APP

    参考博文: [Phonegap+Sencha Touch] 移动开发1.准备工作 [Phonegap+Sencha Touch] 移动开发2.PhoneGap/Cordova初步使用   经过差不多1 ...

  8. Cordova+ionic 开发hybird App --- 开发环境搭建

    Cordova 开发hybird App 开发环境搭建 一.一些基础概念: Ant : 简单说来可以这么理解,如果你用记事本写JAVA程序,然后在cmd里输入javac命令编译它,但是有一天你发现每次 ...

  9. 简单5步说清App软件在线开发、App制作多少钱?

    开发制作一款App,所有人都会首先关心开发一款App多少钱这个问题.从网上的信息来看,花费个几十万是很正常的事情,甚至有人说要花上百万才能制作出一款App.那么App软件的开发制作到底和什么有关?怎么 ...

随机推荐

  1. 半夜删你代码队 Day7冲刺

    一.每日站立式会议 1.站立式会议 成员 昨日完成工作 今日计划工作 遇到的困难 陈惠霖 好友界面初步 完善好友界面 无 侯晓龙 帮助他人建立数据库 用户信息界面 无 周楚池 完善管理员界面 用户界面 ...

  2. js之数组乱序

    这是最近面试遇到的,不过忘记了,之前也有印象刷到过这道题,就再次记录一下加深印象吧,听到最多的答案是利用sort方法,不过也有说这种方法不好,利用了快排和插入排序,那就整理下吧 <!DOCTYP ...

  3. 介质访问控制子层-Medium Access Control Sublayer:多路访问协议、以太网、无线局域网

    第四章 介质访问控制子层-Medium Access Control Sub-layer 4.1介质访问控制子层概述 MAC子层不属于之前提到的OSI或TCP/IP架构的任何一层,这也是为什么这一层被 ...

  4. 【题解】「AT4266」[ABC113B] Palace

    AT4266 [ABC113B] Palace 水题解*n translation 有 \(n\) 个地方,第 \(i\) 个地方的海拔为 \(H_i\),该地方的温度为 \(T-H_i \times ...

  5. DarkMode(1):产品应用深色模式分析

    为什么Dark Mode变得越来越流行 2018 年的 macOS Mojave 率先支持了深色外观,紧接着 Windows 10 在 2018 年的 10 月份大版本更新中,也引入了 Dark Mo ...

  6. USB接口禁用小工具v1.0.1

    由论坛用户原创制作的一个USB接口工具, 可选择手动/自动启动或者禁止启动模式, 开启禁止启动模式后USB接口将关闭识别功能, 有效防止U盘设备侵入,对于机房实验室设施来说相当管用. 下载地址:htt ...

  7. Centos7.8安装Redis

    一.安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装  [root@localhost local]# ...

  8. SpringBoot-2.3镜像方案为什么要做多个layer

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. db2常用操作

    1. db2建立远程节点编目及删除 db2 catalog tcpip node nodeName remote remoteIp server remotePort db2 list node di ...

  10. 01-flask-helloWorld

    代码 from flask import Flask # 创建Flask对象 app = Flask(__name__) # 定义路由 @app.route('/') def index(): # 函 ...