##HarmonyOS Next快速入门##HarmonyOS应用开发##教育##
创建第一个工程
如果你是首次打开DevEco Studio,那么首先会进入欢迎页。
在欢迎页中单击“Create Project”,进入项目创建页面。
选择‘Application’,然后选择‘Empty Ability’,单击‘Next’进入项目配置页。
配置页中,详细信息如下:
- Project name是开发者可以自行设置的项目名称,这里根据自己选择修改为自己项目名称。
 - Bundle name是包名称,默认情况下应用ID也会使用该名称,应用发布时对应的ID需要保持一致。
 - Save location为工程保存路径,建议用户自行设置相应位置。
 - Compile SDK是编译的SDK版本。
 - Module name:模块名称。
 - Device type设备类型:Phone手机,Tablet平板,2in1二合一平板电脑,Car车载平板
 
然后单击“Finish”完成工程创建,等待工程同步完成。
@Entry
@Component
struct Index{
  @State message: string = 'Hello World';
  build() {
    RelativeContainer() {
      Text(this.message)
        .id('PageHelloWorld')
        .fontSize($r('app.float.page_text_font_size'))
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        })
        .onClick(() => {
          this.message = 'Welcome';
        })
    }
    .height('100%')
    .width('100%')
  }
}
了解基本工程目录
参考资料:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-package-structure-stage-V5
工程的目录结构如下
- AppScope目录由DevEco Studio自动生成,不可更改。。
 - entry是应用的主模块,存放HarmonyOS应用的代码、资源等。
 - oh_modules是工程的依赖包,存放工程依赖的源文件。
 - oh-package.json5是工程级依赖配置文件,用于记录引入包的配置信息。
 
app.json5是应用的全局的配置文件,用于存放应用公共的配置信息。
{
  "app": {
    "bundleName": "com.example.helloworld",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:layered_image",
    "label": "$string:app_name"
  }
}
- bundleName是包名。
 - vendor是应用程序供应商。
 - versionCode是用于区分应用版本。
 - versionName是版本号。
 - icon对应于应用的显示图标。
 - label是应用名。
 
主模块目录:
–src目录
–main文件夹
–ets文件夹存放模块的ArkTS源码文件(.ets文件)
–resources文件夹存放模块内需要用到的资源文件
–module.json5文件为模块的配置文件,包含当前模块的配置信息。
–ohosTest是单元测试目录。
–oh-package.json5是模块级依赖配置信息文件。
ets目录中
- entryability存放ability文件,用于当前ability应用逻辑和生命周期管理。
 - entrybackupability:提供扩展的备份恢复能力
 - pages存放UI界面相关代码文件,初始会生成一个Index页面。
 
resources目录下存放模块公共的多媒体、字符串及布局文件等资源,分别存放在element、media文件夹中。
main_pages.json文件保存的是页面page的路径配置信息,所有需要进行路由跳转的page页面都要在这里进行配置。