前言

鸿蒙app开发基础知识

鸿蒙应用程序

HAP

entry

feature

pack.info

库文件

资源文件

配置文件(config.json)

HAR

Node.js

NPM

关于DevEco Studio的学习

汉化辅助插件

设置背景和调节字体大小

如何创建一个工程

项目各部分组成及功能

两种工程目录结构

eTS工程目录结构(API Version 8)

JS工程目录结构(API Version 8)

运行hello world

低代码开发模式

总结


前言

对鸿蒙app开发一些基础知识的学习,以及有关的集成开发工具Deveco Studio的学习。

注:本篇笔记主要参考了官方的开发者文档

鸿蒙app开发基础知识

鸿蒙应用程序

也叫app,主要是指手机上的应用软件。

我们常说的鸿蒙开发指的就是开发这个应用程序。它是一个可以运行在鸿蒙操作系统上的程序基本单元。

分为两种形式:

1 传统需要在如软件商店等下载安装的应用,是真正的鸿蒙app.

2 类似于微信小程序的提供特定功能,免安装的应用。

鸿蒙应用程序包:当需要发布app时所需要提供给用户的一种包文件。鸿蒙app的包文件后缀以.hap结尾。

注:鸿蒙应用程序包并不是编写的源码文件,而是由鸿蒙操作系统编译源码生成的一个可安装文件。

鸿蒙的应用程序以APP Pack形式发布,由一个或多个HAP以及描述每个HAP属性的pack.info组成。鸿蒙的应用代码围绕Ability组件展开。

HAP

Ability的部署包。由代码,资源,第三方库及应用配置文件组成,可分为entry和feature两种类型。只有包含Ability的HAP才能独立运行

entry

应用的主模块。一个app对同一设备类型,可以有一个或多个entry类型的HAP,用来支持不同该设备类型中不同规格的具体设备。当同一个设备类型存在多个entry模块。则必须配置distroFilter分发规则。

feature

应用的动态特性模块。一个app可以包含零个或一个或多个feature类型的HAP。

Ability

应用能力的抽象。一个应用可以包含一个或多个Ability。有两种类型:FA 和PA.两者都是应用的基本组成单元。能够实现特定的业务功能。区别是FA由UI界面,PA无UI界面

pack.info

描述应用软件包的HAP属性,又IDE编译生成。

HAP的属性有

delivery-with-install:表示该HAP是否支持随应用按照,true表示支持,false表示不支持。

name:HAP文件名

module-type:模块类型,entry或feature

device-type:支持该HAP运行的设备类型。

库文件

应用依赖的第三方代码,存放在libs目录。简单说就是一个个封装好可以直接使用的代码组成的代码库。

资源文件

应用的资源文件(如图片,音频等),存放于resource目录。

配置文件(config.json)

应用的Ability信息,用于声明应用的Ability,以及应用所需权限。

HAR

提供构建应用所需的所有内容,包括源代码,资源文件,config.json文件,HAR不同于HAP,其不能独立安装运行在设备上。只能作为应用模块的依赖项被引用。

Node.js

谷歌公司开发的一个可以在服务器上运行JavaScript语言的环境。传统的JavaScript语言只能运行在浏览器中。作为网页的脚本语言去使用。

注:下载安装Node.js主要是为了下载NPM包,从而运用在DevEco Studio.

NPM

包管理工具,随同Node.js一起安装。能解决Node.js代码部署上的很多问题。常见使用场景:

允许用户从NPM服务器下载别人编写的第三方包到本地使用。

允许用户从NPM服务器下载安装别人编写的命令行程序到本地使用。

允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

关于DevEco Studio的学习

集成开发环境,即IDE。可同时支持HarmonyOS和OpenHarmony应用/服务开发。

汉化辅助插件

下载完DevEco Studio后,打开DevEco Studio会发现是英文界面,在界面中选择Configure->settings->找到plugins->installed->找到Chinese(Simplified)插件进行下载和安装,完成后重新打开DevEco Studio即可发现以切换为中文界面。

设置背景和调节字体大小

如何创建一个工程

项目创建完成。

项目各部分组成及功能

功能菜单区域:具有各种功能,包括打开关闭文件,创建新文件等各种功能

项目结构区域:表示项目结构关系

代码编辑区域:主要编写代码的区域。

功能预览区域:实时效果展示。

运行调试按钮区域:包含项目运行,调试等按钮。

两种工程目录结构

eTS工程目录结构(API Version 8)

  • src > main > ets:用于存放ets源码。
  • src > main > ets > MainAbility:应用/服务的入口。
  • src > main > ets > MainAbility > pages:MainAbility包含的页面。
  • src > main > ets > MainAbility > app.ets:承载Ability生命周期。
  • src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。
  • src > main > config.json:模块配置文件,主要包含HAP包的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
  • entry >build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
  • entry >hvigorfile.js:模块级编译构建任务脚本。
  • build-profile.json5:应用级配置信息,包括签名、产品配置等。
  • hvigorfile.js:应用级编译构建任务脚本。

JS工程目录结构(API Version 8)

  • src > main > js:用于存放js源码。
  • src > main > js > MainAbility:应用/服务的入口。
  • src > main > js > MainAbility > i18n:用于配置不同语言场景资源内容,比如应用文本词条、图片路径等资源。
  • src > main > js > MainAbility > pages:MainAbility包含的页面。
  • src > main > js > MainAbility > app.js:承载Ability生命周期。
  • src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。
  • src > main > config.json:模块配置文件,主要包含HAP包的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
  • entry > build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
  • entry > hvigorfile.js:模块级编译构建任务脚本。
  • build-profile.json5:应用级配置信息,包括签名、产品配置等。
  • hvigorfile.js:应用级编译构建任务脚本。

两种工程模板

ets工程模板用的是typescript开发语言,在index页面相当于是将js,css,html合并在一个页面中写。

js工程模板用的是JavaScript开发语言,在index页面将js,css,html分成三个文件分别书写。

运行hello world

不管是ets模板还是js模板,工程创建好之后都默认书写了hello world代码。

要运行代码首先要有运行设备device

选择设备管理器 

运行代码

低代码开发模式 

可直接拖入组件查看效果,减少代码量,但还不够完善,不推荐使用

总结

学习了鸿蒙开发有关概念,学习了DevEco Studio的相关操作。

鸿蒙app学习笔记一相关推荐

  1. HBuilder X ——Uni app 学习笔记(一)

    HBuilder X --Uni app 学习笔记(一) 1.pages.json配置 *pages数组中第一项表示应用启动页,数组中其他项为项目中所有页面路径. enablePullDownRefr ...

  2. 得到app文稿导出_得到app学习笔记作为知识付费者,如何把所学内容快速输出?...

    原标题:得到app学习笔记作为知识付费者,如何把所学内容快速输出? 零.引子 昨天看到老公票圈更新了一条段子: 我就是那个伪勤奋者,在知识焦虑的胁迫下,这些年买了不知多少视频.微课.教程还有得到专栏. ...

  3. Flutter高级进阶实战 仿哔哩哔哩APP学习笔记

    Flutter高级进阶实战 仿哔哩哔哩APP学习笔记 近年来各大公司对Flutter技能的要求越来越高,甚至设立了专门岗位,但掌握Flutter高阶技能的人才寥寥无几,市面上干货Flutter高阶课程 ...

  4. 鸿蒙系统学习笔记(一) 鸿蒙系统介绍

    个人学习鸿蒙系列 鸿蒙系统介绍 目录 个人学习鸿蒙系列 鸿蒙系统介绍 一.鸿蒙系统简介 1.简介 2.技术架构 (1)内核层 (2)系统服务层 (3)框架层 (4)应用层 3.发展进程 二.鸿蒙系统特 ...

  5. 华为鸿蒙系统学习笔记9-华为鸿蒙OS与LiteOS对比

    8月9日,在华为开发者大会上,华为消费者业务CEO余承东正式发布了鸿蒙OS(操作系统),在业界算是引起了不小轰动. 之前华为曾透露鸿蒙OS具有低延时.可用于路由器.自动驾驶等特性,明显具有嵌入式RTO ...

  6. 华为鸿蒙系统学习笔记2-生态系统介绍

    华为自研的鸿蒙操作系统,成为华为全球开发者大会上最引人注目的热点.此前,华为注册了鸿蒙操作系统的商标,引起了世界范围的关注.华为董事长任正非表示,鸿蒙系统不是专门用于手机的,而是为了做物联网用的.鸿蒙 ...

  7. 华为鸿蒙系统学习笔记6-方舟编译器深度解析

    8 月 9 日,华为开发者大会鸿蒙OS正式发布,这是基于微内核的全场景分布式OS.能实现模块化解耦,对应不同设备(智慧屏.穿戴设备.车机.智能音箱.手机)可弹性部署.华为消费者业务 CEO 余承东描述 ...

  8. Windows 8 Metro App学习笔记(九)—磁砖

    瓷砖,即桌面显示的Tile,它的创建和生命周期都可以由用户自由创建并可以直接访问一个应用程序,还可以为信息的及时推送带来很多的方便.在Windows 8中,由SecondaryTile对象负责. 首先 ...

  9. 华为鸿蒙系统学习笔记11-鸿蒙(HarmonyOS)2.0方舟编译器官方网址开源地址

    鸿蒙(HarmonyOS)2.0: 开源项目:https://www.openatom.org/openharmony 代码仓库:https://openharmony.gitee.com 方舟编译器 ...

最新文章

  1. 【十五分钟Talkshow】fmplan(十五分钟计划)的初步想法
  2. 从零开始搭建创业公司后台技术栈!
  3. linux内核模块编译出现找不到include/generated/asm/unistd_32.h” 问题解决
  4. BLE主机主动扫描和被动扫描
  5. “根本就不需要 Kafka 这样的大型分布式系统!”
  6. TypeError: 'range' object doesn't support item deletion
  7. Redis学习总结(16)——Redis 集群的5种使用方式,及各自优缺点对比分析
  8. HTML 父窗口打开子窗口,并从子窗口返回值
  9. java 泛型的类型擦除和桥方法
  10. 计算机爱好者协会义务维修的目的,计算机协会义务维修活动总结范文
  11. Wi-Fi连接握手包抓包
  12. fluent瞬态计算终止条件在哪里设置_五.从卡门涡街看FLUENT设置依据
  13. Unity3D实现3D立体游戏原理及过程,需偏振眼镜3D显
  14. 计算机视觉面试经验汇总(一)
  15. 做好软件测试的关键是什么,做好测试计划和测试用例的工作的关键是什么?
  16. 2021-01-30
  17. 数据库:常用数据库的创建
  18. 微信小程序font-family中提供的十四种字体
  19. 输入年份和天数计算出几月几号
  20. 华三c语言笔试,H3C笔试及答案解析

热门文章

  1. 电销行业通讯难题的解决方案出来了!
  2. 引领企业电销革新,外呼系统是不可缺的电销工具
  3. [转]解剖PetShop
  4. 问个问题(nimultisim14.0双开关)
  5. ElasticSearch服务(一)
  6. 如何在输入特殊符号,例如角度“∠”
  7. 利用ECharts在线生成图表
  8. simulink/stateflow 纯电动+4档变速箱动力性经济性仿真模型 包含vcu控制及换档控制模型,可实现最高车速 最大爬坡度 加速时间
  9. java接口里面可以定义变量么?
  10. SDOI 2018二轮题解(除Day2T1)