HUAWEI DevEco Studio(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,全方位的质量与安全保障。
作为一款开发工具,除了具有基本的代码开发、编译构建及调测等功能外,DevEco Studio还具有如下特点:
使用DevEco Studio,只需要按照如下几步,即可轻松开发并上架一个HarmonyOS应用/服务到华为应用市场。
开发工具的安装以及环境的配置参考往期文章:
【HarmonyOS之旅】DevEco Studio的安装与环境配置
DevEco Studio集成了手机、智慧屏、智能穿戴等设备的典型场景模板,可以通过工程向导轻松的创建一个新的工程。
接下来还需要定义应用/服务的UI、开发业务功能等编码工作,可以根据HarmonyOS应用开发概述来查看具体的开发过程,通过查看API接口文档查阅需要调用的API接口。
在开发代码的过程中,可以使用预览器查看应用/服务效果,支持实时预览、动态预览、双向预览等功能,使编码的过程更高效。
应用/服务开发完成后,可以使用真机进行调试(需要申请调测证书进行签名)或者使用模拟器进行调试,支持单步调试、跨设备调试、跨语言调试、变量可视化等调试手段,使得应用/服务调试更加高效。
HarmonyOS应用/服务开发完成后,在发布到应用/服务市场前,还需要对应用进行测试,主要包括漏洞、隐私、兼容性、稳定性、性能等进行测试,确保HarmonyOS应用/服务纯净、安全,给用户带来更好的使用体验。
HarmonyOS应用/服务开发、测试完成后,需要将应用/服务发布至应用市场,以便应用市场对应用/服务进行分发,普通消费者可以通过应用市场或服务中心获取到对应的HarmonyOS应用/服务。需要注意的是,发布到华为应用市场或服务中心的HarmonyOS应用/服务,必须使用应用市场颁发的发布证书进行签名。
在进行应用/元服务开发前,开发者应该掌握应用/元服务的逻辑结构。
应用/元服务发布形态为APP Pack(Application Package),它是由一个或多个HAP(Harmony Ability Package)包以及描述APP Pack属性的pack.info文件组成。
一个HAP在工程目录中对应一个Module,它是由代码、资源、三方库及应用/元服务配置文件组成,HAP可以分为Entry和Feature两种类型。
基于Stage模型和FA模型开发的应用,应用程序包结构并不相同。
Stage模型应用程序包结构如下图所示。
FA模型应用程序包结构如下图所示。
DevEco Studio工程目录结构提供工程视图和Ohos视图。工程视图(Project)展示工程中实际的文件结构,Ohos视图会隐藏一些编码中不常用到的文件,并将常用到的文件进行重组展示,方便开发者查询或定位所需编辑的模块或文件。
工程创建或打开后,默认显示工程视图,如果要切换到Ohos视图,在左上角单击Project > Ohos进行切换。
ArkTS Stage模型支持API Version 10及以上版本,其工程目录结构如下图所示:
资源目录 | 资源文件说明 |
---|---|
base>element | 包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如: boolean.json:布尔型color.json:颜色float.json:浮点型intarray.json:整型数组integer.json:整型pattern.json:样式plural.json:复数形式strarray.json:字符串数组string.json:字符串值 |
base>media | 多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。 |
rawfile | 用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。 |
base>media多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。rawfile用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。
C++ Stage模型支持API Version 10以上版本,支持使用ArkTS+C++进行开发,其工程目录结构如下图所示。
资源目录 | 资源文件说明 |
---|---|
base>element | 包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如: boolean.json:布尔型color.json:颜色float.json:浮点型intarray.json:整型数组integer.json:整型pattern.json:样式plural.json:复数形式strarray.json:字符串数组string.json:字符串值。 |
base>media | 多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。 |
rawfile | 用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。 |
base>media多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。rawfile用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。
JS工程只支持FA模型,其工程目录结构如下图所示:
资源目录 | 资源文件说明 |
---|---|
base>element | 包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如: boolean.json:布尔型color.json:颜色float.json:浮点型intarray.json:整型数组integer.json:整型pattern.json:样式plural.json:复数形式strarray.json:字符串数组string.json:字符串值 |
base>media | 多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。 |
rawfile | 用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。 |
base>media多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。rawfile用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。
感谢各位大佬支持!!!
互三啦!!!