如何优雅地开发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鸿蒙开发技能。
作者:软通夏德旺
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/
如何优雅地开发HarmonyOS APP应用的更多相关文章
- 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
如何优雅的使用vue+Dcloud(Hbuild)开发混合app 最近在做混合app,前端框架用的是vue,打包app使用的是Dcloud,不过在开发过程中有一点不爽的是,如果想使用Dcloud提供的 ...
- 开发一个 app 有多难?
171 个回答 默认排序 道衍天机 有事情的加微信1293190838找我 1,150 人赞同了该回答 ----------------------------------------------- ...
- UWP开发:APP之间的数据交互(以微信为例)
目录 说明 UWP应用唤醒方式 跟微信APP交互数据 APP之间交互数据的前提 说明 我们经常看到,在手机上不需要退到桌面,APP之间就可以相互切换,并且可以传递数据.比如我在使用知乎APP的时候,需 ...
- 【转载】用Ionic开发hybrid APP
使用phonegap开发APP的优劣在此不必细说,快速,简单,跨平台,以及随着iOS,Android本身对webview优化所带来的不错的性能,便是其独有的优势.而且私以为在目前激烈而又变化快速的移动 ...
- 分享 Ionic 开发 Hybrid App 中遇到的问题以及后期发布 iOS/Android 的方方面面
此篇文章主要整理了最近在使用 Ionic 开发 Hybrid App 过程中遇到的一些疑难点以及后期发布生成 iOS 和 Android 版本过程中的种种问题. 文章目录 Ionic 简介和项目需求介 ...
- 后移动互联网时代:到底还要不要开发一个App?
后移动互联网时代,到底是什么样的一个时代? 首先,后移动互联网时代中,产生头部应用的几率变小了,像微信这样巨头式的App很难在产生第二个.其次,后移动互联网时代,物联网发展迅速,所有的智能硬件都需要一 ...
- 亲手使用Sencha Touch + phonepag开发Web APP随笔 -- 第一个APP
参考博文: [Phonegap+Sencha Touch] 移动开发1.准备工作 [Phonegap+Sencha Touch] 移动开发2.PhoneGap/Cordova初步使用 经过差不多1 ...
- Cordova+ionic 开发hybird App --- 开发环境搭建
Cordova 开发hybird App 开发环境搭建 一.一些基础概念: Ant : 简单说来可以这么理解,如果你用记事本写JAVA程序,然后在cmd里输入javac命令编译它,但是有一天你发现每次 ...
- 简单5步说清App软件在线开发、App制作多少钱?
开发制作一款App,所有人都会首先关心开发一款App多少钱这个问题.从网上的信息来看,花费个几十万是很正常的事情,甚至有人说要花上百万才能制作出一款App.那么App软件的开发制作到底和什么有关?怎么 ...
随机推荐
- 半夜删你代码队 Day7冲刺
一.每日站立式会议 1.站立式会议 成员 昨日完成工作 今日计划工作 遇到的困难 陈惠霖 好友界面初步 完善好友界面 无 侯晓龙 帮助他人建立数据库 用户信息界面 无 周楚池 完善管理员界面 用户界面 ...
- js之数组乱序
这是最近面试遇到的,不过忘记了,之前也有印象刷到过这道题,就再次记录一下加深印象吧,听到最多的答案是利用sort方法,不过也有说这种方法不好,利用了快排和插入排序,那就整理下吧 <!DOCTYP ...
- 介质访问控制子层-Medium Access Control Sublayer:多路访问协议、以太网、无线局域网
第四章 介质访问控制子层-Medium Access Control Sub-layer 4.1介质访问控制子层概述 MAC子层不属于之前提到的OSI或TCP/IP架构的任何一层,这也是为什么这一层被 ...
- 【题解】「AT4266」[ABC113B] Palace
AT4266 [ABC113B] Palace 水题解*n translation 有 \(n\) 个地方,第 \(i\) 个地方的海拔为 \(H_i\),该地方的温度为 \(T-H_i \times ...
- DarkMode(1):产品应用深色模式分析
为什么Dark Mode变得越来越流行 2018 年的 macOS Mojave 率先支持了深色外观,紧接着 Windows 10 在 2018 年的 10 月份大版本更新中,也引入了 Dark Mo ...
- USB接口禁用小工具v1.0.1
由论坛用户原创制作的一个USB接口工具, 可选择手动/自动启动或者禁止启动模式, 开启禁止启动模式后USB接口将关闭识别功能, 有效防止U盘设备侵入,对于机房实验室设施来说相当管用. 下载地址:htt ...
- Centos7.8安装Redis
一.安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# ...
- SpringBoot-2.3镜像方案为什么要做多个layer
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- db2常用操作
1. db2建立远程节点编目及删除 db2 catalog tcpip node nodeName remote remoteIp server remotePort db2 list node di ...
- 01-flask-helloWorld
代码 from flask import Flask # 创建Flask对象 app = Flask(__name__) # 定义路由 @app.route('/') def index(): # 函 ...