当前位置: 首页 > 科技观察

鸿蒙开发工具DevEcoStudio3.0体验及项目介绍

时间:2023-03-20 22:13:42 科技观察

更多开源内容请访问:开源基础软件社区https://ost.51cto.com开发工具介绍HuaWeiDevEcoStudio是基于IntelliJIDEACommunity的开源版本构建的。面向全场景多设备,提供一站式应用/服务集成开发环境(IDE)。支持分布式多端开发、分布式多端调试、多端仿真。提供全方位的质量和安全保证。DevEcoStudio3.0支持HarmonyOS3.0的应用和服务开发。提供智能代码编辑、低代码开发、接口调试双向预览、新构建工具、模拟器等,支持OpenHarmony应用和服务开发。支持Windows和Mac版本,点击这里查看官网。新建HarmonyOS工程我们打开DevEcoStudio3.0开发工具,界面左侧有四种创建工程的方法:CreateProject:新建一个HarmonyOS工程OpenProject:打开一个本地的HarmonyOS工程,因为我们还没有建立项目,所以没有本地项目。从VCS获取:使用版本控制工具导入项目。该方法支持Git、Subversion等版本管理工具导入。导入样例:导入HarmonyOS样例工程。新建HarmonyOS项目,可以进入模板选择页面,这里DevEcoStudio3.0版本没有2.0版本那么多的模板,只有三个主要的tab:清空能力:本模板支持JavaScript、eTS、Java语言开发,常用用于设备的功能能力模板。NativeC++:支持Java、JavaScript、eTS开发语言,Phone、Car设备的FeatureAbility模板[Lite]EmptyAbility:只支持JavaScript,创建LiteWearable、SmartVision、Router设备的FeatureAbility模板根据项目向导,在HarmonyOS选项卡,选择需要的能力项目模板,选择第一个创建项目:点击右下角的下一步,会看到如下界面:项目名称:项目的名称,其中可以自定义,就像变量名一样,支持大小写字母、数据和下划线ProjectType:项目的类型,标识项目是传统应用(Application,简称应用)还是原子服务需要安装的(原子服务,简称服务)。包名称:包名称。默认情况下,应用程序/服务ID也将使用此名称。发布应用程序/服务时,应用程序/服务ID必须是唯一的。如果“Projecttype”选择了Atomicservice,则Bundlename的后缀必须是.hmservice。保存位置:项目文件的本地存储路径,也就是你的文件保存的地方。您可以选择默认值。文件路径由大小写字母、数字、下划线等组成,不能包含汉字。编译SDK:应用程序/服务的目标API版本。在编译构建时,DevEcoStudio会根据指定的CompileAPI版本进行编译打包。Model:应用支持的模式,APIVersion4~8只支持FA模式。EnableSuperVisual:支持低代码开发模式,部分模板支持低代码开发,可选择开启此开关。语言:开发语言。兼容SDK:最低兼容API版本。设备类型:该项目模板支持的设备类型。如果这里不配置DeviceType,可以在配置文件config.json中手动添加Showinservicecenter:是否在服务中心显示。如果Projecttype是Atomicservice,会同步创建一个22平方的服务卡模板,同时创建一个入口卡;如果项目类型为应用,则只会创建一个22平方的服务卡模板。此选项用于创建在服务中心显示的原子服务。这里可以默认,然后点击完成,工具会自动生成示例代码和相关资源,等待项目创建完成。然后会得到如下界面:Projectdirectory(APIVersion8)上一篇只是简单的运行一下,看到一个HelloWorld输出,这次我们先介绍下运行项目前常用的HarmonyOS项目目录,即先看看左边是开发工具自动生成的项目层级目录。.idea:该目录用于存放项目配置信息,包括历史记录、版本控制信息等,由开发工具自动生成,一般不需要修改。entry:该目录是程序中最重要的目录,是应用程序的主要模块。一个应用程序只有一个入口模块。应用程序的代码和资源文件存放在该目录下。HarmonyOS项目模块,编译构建生成Hap包,入口目录还包括几个子目录。.gitignore:该文件用于选择在git版本控制中忽略哪些文件或目录,使其不被git管理,比如IDE本身的配置信息。build-profile.json5:应用级配置信息,包括签名、产品配置等。hvigorfile.js:应用级编译构建任务脚本。入口中的子目录src包括main和ohosTest目录:src>main>ets:用于存放ets源代码src>main>ets>MainAbility:应用/服务的入口。src>main>ets>MainAbility>pages:MainAbility中包含的页面。默认情况下,一个index.ets:@Entry@ComponentstructIndex{@Statemessage:string='HelloWorld'build(){Row(){Column(){Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)}.width('100%')}.height('100%')}}src>main>ets>MainAbility>app.ets:承载Ability生命周期。src>main>resources:用于存放应用程序/服务使用的资源文件,如图形、多媒体、字符串、布局文件等。src>main>config.json:模块配置文件,主要包括模块的配置信息HAP包,应用在具体设备上的配置信息,应用的全局配置信息。{"app":{"bundleName":"com.example.myapplication","vendor":"example","version":{"code":1000000,"name":"1.0.0"}},"deviceConfig":{},"module":{"package":"com.example.myapplication_test","name":".entry_test","mainAbility":".TestAbility","deviceType":["phone"],"发行版":{"deliveryWithInstall":true,"moduleName":"entry_test","moduleType":"feature","installationFree":false},"abilities":[{"skills":[{"entities":["entity.system.home"],"actions":["action.system.home"]}],"orientation":"unspecified","visible":true,"srcPath":"TestAbility","name":".TestAbility","srcLanguage":"ets","icon":"$media:icon","description":"$string:description_TestAbility","formsEnabled":false,"label":"$string:entry_TestAbility","type":"page","launchType":"standard"}],"js":[{"mode":{"syntax":"ets","type":"pageAbility"},"pages":["pages/index"],"name":".TestAbility","window":{"designWidth":720,"autoDesignWidth":false}}]}}entry>build-profile.json5:当前模块信息,编译信息配置项,包括buildOption,targets配置等entry>hvigorfile.js:模块级编译和构建任务脚本。运行项目,最后介绍如何将HarmonyOS程序运行到模拟器上,目前华为为开发者提供了远程模拟器,供开发者在线调试和运行程序,远程模拟器是使用虚拟化技术运行在华为后台服务器上的HarmonyOS应用。在模拟器中运行不需要签名,直接运行即可,在DevEcoStudio的菜单栏中,选择“工具”→“设备管理器”选项,即可e页面会跳转到华为账号,点击“允许”,然后按照对应的浏览器打开界面进行操作,最后就可以回到华为账号了。在DevEcoStudioKanna中进入对应的设备模拟器,然后我们选择P50,点击右上角的运行:点击绿色三角按钮运行模拟器,可以看到项目运行成功:模拟器启动后,你可以直接运行刚刚创建的HarmonyOS项目放在模拟器上。DevEcoStudio页面右上方有一个与运行程序相关的操作区,如下图所示。最左边的模块是要运行的模块。新建的项目默认生成Entry模块。目录名为entry。在这里,只有这个模块是可选的。如果项目中新建了其他模块,可以在这里选择运行对应的模块。模块。是时候结束这篇文章了。经过一些体验,我发现DevEcoStudio3和2在界面上还是有一点区别的,但是整体结构是差不多的。在这篇文章中,本文还介绍了HarmonyOS经典应用的目录结构,最后非常轻松的在远程模拟器上运行了HelloWorld项目。了解更多开源知识,请访问:开源基础软件社区https://ost.51cto.com。