乐于分享
好东西不私藏

Android开发者开发鸿蒙App,到底难不难?怎么做到最快上手?

Android开发者开发鸿蒙App,到底难不难?怎么做到最快上手?

我相信很多Android开发者去面试时,
时常会被问到“会不会开发鸿蒙?”。
哈哈,这很常见,
因为我也被问过,
但我回的很干脆“不会”。
这两年鸿蒙应用生态迅速扩张,
对于Android开发者来说鸿蒙开发既熟悉又陌生,
相信大家都会有这几个担忧:
Android开发学鸿蒙难不难?
鸿蒙开发做完软件是不是就失业了?
其实有这些担忧是正常了,
因为这是人之常情。
其实我想告诉大家的是,
不需要太耗费时间的去深入学习,
只需要把一些重要的概念、组件、语言熟悉好就行,
剩下的就交给AI。
鸿蒙的需求很难像2015年前安卓那样爆发性增长,
做完就失业或转去做其他的现象是普遍存在的,
所以可以把鸿蒙开发当作一个技能去对待,
不要放弃Android,兴许哪天还要回来继续。
一、鸿蒙真的难吗?80% Android 思维都能复用
首先我们要知道,
鸿蒙不是凭空产生,
而是站在Android的肩膀上开发出来的一个系统。
就算你把Android的代码全部删除了,
也改变不了你很多东西都是借鉴Android,
灵魂上还是Android。
所以Android开发者要从安卓的角度上,
看看鸿蒙的相似之处和不同之处。
我上面这么说不是为了贬低鸿蒙,
而是在告诉Android开发怎样才能更好的掌握鸿蒙开发。
首先鸿蒙和安卓哪些很像呢:
1.应用模型几乎一样。
Android有Activity、Service,与之对应的鸿蒙有Ability。
这个Ability作用和他们一样,
在生命周期、资源管理方式、
权限申请等方面都有很高的相似度。
2.UI路线一样
Android已经转向Compose声明式UI了,
而鸿蒙也是一样ArkUI声明式,
它们实际写法是差不多的。
3.异步、线程、协程思路完全相通
Android的Kotlin协程、线程池、回调,
在鸿蒙中依然适用,
完全不需要额外的思维转化,
可能就是写法就稍微不同。
4.工程结构也相似
Gradel就对应着Hvigor,
adb对应着hdc,
开发工具Android Studio就对应着DevEco Studio,
名字虽然不同,但是核心逻辑是一致的。
从大的角度来看,
鸿蒙开发的难点就是概念名词发生了改变,
理好这一点应该对大家有所帮助。
二、鸿蒙开发真正的难点
虽然大体概念一致,
但是唯一的难点是一些创新的东西,
也就是说Android没有的东西。
1.Stage模型
鸿蒙现在全面接入了Stage模型,
Ability UI取代了过去的FA/PA。
所以你需要重新理解:
onCreate
onWindowStageCreate
onForeground
onBackground
其实和Activity的本质区别就是,
鸿蒙拆出了WindowStage来管理界面。
2.鸿蒙UI的新写法
ArkTS是鸿蒙的TS增强语言,
语法不难,但是问题是要适应好。
比如@State状态变量,
页面生命周期,
自定义组件,
UI的结构约束。
如果你学过Compose的话,
这个东西对你来说就非常简单。
3.鸿蒙独有的分布式
分布式可以是鸿蒙的唯一真正意义的优势,
这是Android完全没有的东西,
在多设备协同,
分布式数据对象,
设备间拉起应用等方面做得比较优秀。
像这些你就要重新学习了。
三、Android开发者最快上手鸿蒙的3条路线
如果你只想写App,
那就使用DevEco Studio开发好几个小项目,
写这个项目时要学好基本UI组件、状态、路由,
并且学好网络请求、数据库、权限和流行架构。
几天内相信聪明的你,绝对能掌握好它。
如果想找鸿蒙工作的话,
在前面的基础上,
深刻理解生命周期概念,
利用常问的鸿蒙面试题反向去深刻理解相关概念,
理解自定义组件,
理解WindowStage、Ability路由,
理解鸿蒙系统服务(比如通知、媒体、相册),
做一个简单音乐播放器(包括数据库、媒体文件、路由、网络请求等相关概念)。
四、担忧之处
现在鸿蒙不足的地方还有很多,
比如开发一个应用需要单独写一份鸿蒙代码,
一些跨平台语言Flutter还不支持鸿蒙,
或者可不可能开发鸿蒙应用可以导出iOS或安卓apk。
还有相信大家也听说过一些传闻,
现在新增的鸿蒙代码是外包写的,
因为正常人的思维都是对外包的水平有所怀疑,
这也是人之常情。
还有就是开发完鸿蒙应用就被裁员,
这十几年前的套路,
到现在还屡试不爽。
最后大家都一起努力吧,希望这篇对大家都有所帮助,谢谢!!!