Android转鸿蒙开发容易?

因为无论从鸿蒙开发IDE、开发语言还是开发风格都跟Android开发十分类似。

1. 开发IDE

鸿蒙开发IDE的软件称为:DevEco-Studio,十分类似Android Studio ,同样基于Intellj IDEA开发,界面都长得很类似,不是说很像,而是一模一样。图片对于项目文件管理栏,同样可切换Project、Packages应用内视图。图片

对于底部导航栏,文件管理,日志输出,终端,Profiler都几乎保持一致。图片

对于SDK Manager,类似于Android Studio,也内建了SDK管理器,可以下载管理不同版本的SDK。图片同样的,你也可以通过模拟管理器进行模拟器debug开发。图片对于开发IDE,Android人员可以无缝切换进行开发,因为DevEco-Studio跟Android Studio真的长得太像了。

2. 开发语言

鸿蒙开发使用的语言是基于TS改进增强而来,即熟悉JS语言即可快速上手。安装好EcoDev-Studio后,在IDE中选择安装Node.js即可。在会Java、kotlin的前提下可以十分快速上手js并进行鸿蒙开发。

图片

3. 开发工具

类似Android开发中的adb工具,鸿蒙上的开发工具称为:hdc(HarmonyOS Device Connector),是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与真实设备或者模拟器进行交互。

类似命令:

  • hdc list targets
  • hdc file send local remote
  • hdc install package File

命令的名称 & 作用也类似于Android中adb的对应命令,详细命令见:

❝https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ide-command-line-hdc-0000001237908229-V3

4. 配置文件

Android最核心的配置文件是AndroidManifest.xml,其内容是:定义版本号、页面路径、注册了广播和服务,同时还申明了App使用的权限。

同样的,鸿蒙中也对应的配置文件,但与Android的区别是:鸿蒙分为多个文件:build-profile.json5和app.json5

对于build-profile.json5,作用是配置Sdk Version和代码模块区分

{
  "app": {
    "signingConfigs": [],
    "compileSdkVersion": 9,
    "compatibleSdkVersion": 9,
    "products": [
      {
        "name": "default",
        "signingConfig": "default",
      }
    ],
    "buildModeSet": [
      {
        "name": "debug",
      },
      {
        "name": "release"
      }
    ]
  },
  "modules": [
    {
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default"
          ]
        }
      ]
    }
  ]
}

对于app.json5,作用是:模块配置、模块权限和页面名。

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone",
      "tablet"
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:startIcon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ],
    "requestPermissions":[
      {
        "name" : "ohos.permission.APPROXIMATELY_LOCATION",
        "reason": "$string:reason",
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"inuse"
        }
      }
    ]
  }
}

5. 开发风格

鸿蒙的UI开发模式是一种响应式开发,类似于Android Compose UI。组件命名从本质概念上也是保持一致的。

build() {
  Column() {
    Text(this.accessText)
      .fontSize(14)
      .fontWeight(FontWeight.Bold)

    if (!this.hasAccess) {
      Button('测试按钮').margin({top: 12})
        .onClick(() => {
          this.reqPermissionsFromUser(this.permissions);
        })
    } else {
      Text('测试文案' )
        .fontSize(14)
        .margin({top: 13})
        .width('100%')
    }
  }
  .height('100%')
  .width('100%')
  .padding(14)
}

总结

从本文可知:从Android开发转向学习鸿蒙的成本真的不高。这或许对于Androdi开发者来说是一个很好的就业方向及机遇。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/88866.html

Like (0)
guozi的头像guozi
Previous 2024年6月4日 上午10:46
Next 2024年6月4日 上午10:56

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注