就业机遇:为什么说Android转鸿蒙开发容易?
共 7422字,需浏览 15分钟
·
2024-06-03 08:05
因为无论从鸿蒙开发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开发者来说是一个很好的就业方向及机遇。
「点击关注,Carson每天带你学习一个Android知识点。」
最后福利:学习资料赠送
-
福利:本人亲自整理的「Android学习资料」 -
数量:10名 -
参与方式:「点击右下角”在看“并回复截图到公众号,随机抽取」
点击就能升职、加薪水!