前言

相信各位搞安卓的同学多多少少都了解过鸿蒙了,有些一知半解而有些已经开始学习起来。那这个鸿蒙到底好不好搞?要不要搞?

安卓反正现在工作感觉不好找,即便是上海这样的大城市也难搞,人员挺饱满的。最近接近年关裁员的也许多。想想还是搞鸿蒙吧现在刚刚要起步说不定有时机!

首要能够肯定的一点,关于做安卓的来说鸿蒙很好搞,终究有多好搞我来给大家说说。最近开始学鸿蒙,对其开发进程有了必定了解。刚好能够进行一些比照。

好不好搞?

开发环境

要我说,好搞的很。首要开发环境一样,不是说长得像,而是就一模一样。

安卓开发转鸿蒙开发到底有多简略?

你看这个DevEco-Studio和Android Studio什么联系,便是双胞胎。同样根据Intellj IDEA开发, 刚装上的时分我都惊呆了,了解的感觉情不自禁。

再来仔细看看:

  • 项目文件办理栏,同样能够切换Project和Packages视图

安卓开发转鸿蒙开发到底有多简略?

  • 底部东西栏,文件办理,日志输出,终端,Profiler等

安卓开发转鸿蒙开发到底有多简略?

  • SDK Manager, 和安卓一样也内建了SDK办理器,能够下载办理不同版本的SDK

安卓开发转鸿蒙开发到底有多简略?

  • 模拟器办理器

安卓开发转鸿蒙开发到底有多简略?

能够看出鸿蒙开发的IDE是功用齐备而且安卓开发人员能够无学习本钱进行转化。

开发东西

安卓开发中需求装置Java言语支撑,因为开发进程需求进行调试,adb也是必不可少的。 在鸿蒙中,装置EcoDev-Studio后,能够在IDE中挑选装置Node.js即可。因为鸿蒙开发运用的言语是根据TS改善增强而来,也便是了解JS言语就能够上手。而会JAVA的话很简略能够上手JS

  • 言语支撑

安卓开发转鸿蒙开发到底有多简略?

  • 鸿蒙上的相似adb的东西名叫hdc

hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员供给的用于调试的指令行东西,通过该东西能够在windows/linux/mac系统上与真实设备或许模拟器进行交互。

  1. hdc list targets
  2. hdc file send local remote
  3. hdc install package File

这儿罗列的几个指令是不是很了解?一看姓名就知道和安卓中的adb是对应联系。不需求去回忆,在需求运用到的时分去官网查一下就行: hdc运用辅导

配置文件

安卓中最首要的配置文件是AndroidManifest.xml。 其间界说了版本号,申明晰页面途径,注册了广播和服务。而且申明晰App运用的权限。

而鸿蒙中也对应有配置文件,但与安卓稍有不同的是鸿蒙分为多个文件。

  • 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

包名,VersionCode,VersionName等信息

{
  "app": {
    "bundleName": "com.example.firstDemo",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:app_icon",
    "label": "$string:app_name"
  }
}
  • module.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"
        }
      }
    ]
  }
}

官方辅导

安卓开发的各种技能文档在网上能够很便利的查找到,各种demo也有基数庞大的安卓开发者在技能网站上分享。尽管鸿蒙现在处于刚起步的阶段,可是官方的技能文档现在也已经十分完善,而且能够感受到鸿蒙的官方维护团队肯定在高强度加班中,他们的文档更新的太快了。经常能看到文档的编辑日期在迅速迭代。

安卓开发转鸿蒙开发到底有多简略?

安卓开发转鸿蒙开发到底有多简略?

从日期能够看到十分新。而且文档都是中文的,学习和查找起来都特别便利。

而且不仅仅是api文档,鸿蒙官方还供给了各种用以学习的demo, 乃至还有官方的视频教程和开发论坛。

安卓开发转鸿蒙开发到底有多简略?

安卓开发转鸿蒙开发到底有多简略?

安卓开发转鸿蒙开发到底有多简略?

安卓开发转鸿蒙开发到底有多简略?

遇到问题有各种办法能够解决,查文档,看视频课程,抄官方demo, 论坛发帖提问,简直是保姆级的官方支撑!

其他

  • 鸿蒙的UI开发模式是一种呼应式开发,与安卓的compose UI很像。组件的姓名可能不同,可是概念上是一致的,而且鸿蒙的原生组件种类丰富也比较全。了解以后运用起来很便利。
build() {
  Column() {
    Text(this.accessText)
      .fontSize(20)
      .fontWeight(FontWeight.Bold)
    if (!this.hasAccess) {
      Button('点击申请').margin({top: 12})
        .onClick(() => {
          this.reqPermissionsFromUser(this.permissions);
        })
    } else {
      Text('设备含糊方位信息:' + 'n' + this.locationText)
        .fontSize(20)
        .margin({top: 12})
        .width('100%')
    }
  }
  .height('100%')
  .width('100%')
  .padding(12)
}
  • 对应安卓的权限办理

鸿蒙有ATM,ATM (AccessTokenManager) 是HarmonyOS上根据AccessToken构建的一致的应用权限办理才能。

  • 对应安卓的SharedPreferences才能,鸿蒙有首选项才能。

安卓开发转鸿蒙开发到底有多简略?

这儿就不一一罗列了

我们只需求知道在安卓上有的概念,就能够在鸿蒙官方文档中去找一下对应的文档。

原理都是相通的。所以有过安卓开发经历的同学相关于前端FE来说有对客户端开发了解的优势。

要不要搞?

先看看现在的状况, 各家大厂正在活跃布局鸿蒙客户端开发。

安卓开发转鸿蒙开发到底有多简略?

安卓开发转鸿蒙开发到底有多简略?

安卓开发转鸿蒙开发到底有多简略?

虽说移动端操作系统范畴对安卓和iOS进行应战的先例也有且还没有成功的先例。可是当前从国内互联网厂商的支撑态度,从国际形势的状况,从华为对鸿蒙生态的投入来看。 我觉得很有搞头! 下一年鸿蒙行将除掉对安卓的支撑,到时头部互联网公司的大流量App也将完结鸿蒙原生纯血版的开发。

更有消息称鸿蒙PC版本也在路上了,了解信创的朋友应该能感受到这将意味着国产移动端和PC端操作系统会占有更大比例的商场。不仅仅是企业的商场行为,也是国产操作系统快速提升市占率的大好时机。

话说回来,作为安卓开发者,学习鸿蒙的本钱并不高!

而对我们来说这是个机会,究竟技多不压身,企业在选取人才的时分往往也会偏好把握更多技能的提名人。

如果鸿蒙起飞,你要不要考虑乘上这股东风呢?

我是张保罗,一个老安卓。最近在学鸿蒙

写了一个鸿蒙开发专栏《动手学鸿蒙App开发 HarmonyOS》,正在逐步更新。欢迎点赞关注!