鸿蒙Next 横空出世,直接剥离了ASOP,变成纯血的独立操作体系,还有一系列配套措施 比方IDE、编译器、独立开发言语ArkTs、独立的UI体系ArkUI、独立的方舟编译器等,的确让人耳目一新,国产移动端操作体系终于来了吗,本文将从以下几个方面来了解:
- 鸿蒙发展史
- 鸿蒙生态透视
- 鸿蒙NEXT对移动开发者的影响
面试官的小抄 面试进阶一网打尽,或许是东半球最好的面试材料
鸿蒙发展史
简略混淆的概念
这4年来的确陆陆续续鸿蒙听到许多概念,关于鸿蒙开源鸿蒙(OpenHarmony)和鸿蒙OS(HarmonyOS)有啥区别 实践上除了OpenHarmony和HarmonyOS不一样之外,就连鸿蒙操作体系都跟OpenHarmony不同
鸿蒙初始
鸿蒙操作体系其实华为为了华为为了完结设备之间的互联化和智能化,内部自研的一个体系,有着自己的技能愿景
- 不同设备,同一体系
- 硬件合作,形成超级终端
- 一次开发,多端布置
当初这个体系的发布其实只在最简略的智慧屏幕设备开端试水
世人拾柴-OpenHarmony
后来老美迎来了制裁,为了让更多开发者能够参加进来,华为在2020年和2021年分2次,将鸿蒙操作体系的根底才能捐给了敞开原子开源基金会,然后在敞开原子开源基金会的孵化下将鸿蒙操作体系加其他共建伙伴奉献结合起来,就形成了我们常说的OpenHarmony
鄙陋发育别浪-HarmonyOS
能在手机上跑的鸿蒙OS是啥? 那是由于一开端OpenHarmony生态太过弱小,许多使用都没有人开发,华为又被美国制裁,为了最大程度保证用户体会,华为选择兼容Android,鄙陋发育,比方无法运用GMS,华为开发了自己的HMS,在OpenHarmony根底上把上述这些都加进去形成华为商用版的HarmonyOS
这种兼容的选择,也是造成了”鸿蒙套壳Android”的嘲讽,可是这的确也是无法只选,生态还没有做好,要是硬着头皮上的话,估计也便是WinPhone的下场了吧。
现在HarmonyOS现已发布到4.0版别,而且有了一个严重的更新便是,在华为将方舟编译器1更新到3.1版别之后在最新的api9上,打通了和OpenHarmony的API,都能够运用ArKTs来开发,这样开发者打出的同一个HAP包就能够在这2个渠道上运转,之前是不能够的。现在是一次程序编译器就能够帮你自动适配好 例如折叠屏手机适配等
独当一面-鸿蒙NEXT
在华为HDC 上一页PPT一闪而过 可是事后引起的讨论却不小,这次发布的HarmonyOS NEXT 则是鸿蒙未来的演进方向,中心点是不再兼容谷歌的AOSP,这样便是一个纯血的独立操作体系了。 从OpenHarmony到HarmonyOS4.0 都在为为Harmony NEXT 这个纯正操作体系铺路,它们两个的生态也在被打通,其实我们都知道做个操作体系不是难事,难得是围绕这个操作体系的生态,早期的国产红旗操作体系,winPhone无一不是倒在了这儿,现在看来华为每一步都走得很稳 HarmonyOS NEXT 在 2023 年 8 月 6 日开端面向合作企业开发者敞开,2024 年第一季度面向一切开发者敞开,更新后的鸿蒙,会运用全自研内核,去掉了传统的 AOSP 代码,仅支撑鸿蒙内核和鸿蒙体系的使用减少了 40% 的冗余代码,使体系的流通度、能效、纯净安全特性大为进步。
也便是说,你的 Android APK 现已不能在 HarmonyOS NEXT 上运转,由于体系现已不存在 AOSP 代码,甚至没有 JVM 。
image.png
鸿蒙体系先进的规划理念
鸿蒙体系哪来的底气应该谷歌的Android呢,由于在体系规划层面真的是遥遥领先,具有以下3个特征:
- 一次开发,多端布置
- 可分可合,自在流通
- 一致生态,原生智能
image.png
“鸿蒙之父”之称的 王成录博士从前公开表示“鸿蒙OS不是安卓,中国在体系软件领域中,鸿蒙是唯一一个在技能架构领先了全球一切操作体系的”。 HarmonyOS全体遵从分层规划,从下向上依次为:内核层、体系服务层、结构层和使用层。体系功用按照“体系 > 子体系 > 功用/模块”逐级打开,在多设备布置场景下,支撑依据实践需求裁剪某些非必要的子体系或功用/模块。HarmonyOS技能架构如下所示。
现在Android、苹果都手机、电脑、平板其实都是独立的。鸿蒙OS不仅仅是“单设备的操作体系”,鸿蒙OS更大的意义在于多设备的互通互联,比方设备之间的实时流通、同享算力或屏幕等硬件模块,带来跨渠道、跨终端的超高共同性体会。
一次开发、多端布置
“一次开发,多端布置”指的是一个工程,一次开发上架,多端按需布置,意图是为了 支撑开发者高效地开发多种终端设备上的使用
这儿的端是 搭载鸿蒙体系的多种硬件
image.png
为了进步开发这么多种端的开发功率,供给了DevEco Studio IDE一站式开发渠道,而且也是JetBrain系列的,十分了解;UI上也是定义了一套规范极大进步多端开发的功率
鸿蒙体系为元服务供给了更多的分发进口,根据场景和用户意图拉起元服务,完结“服务直达”。鸿蒙生态供给的丰富进口如下图
可分可合、自在流通
- 可分可合
指的是开发阶段,开发者通过事务解耦,把不同的事务拆分为多个模块。在布置态,开发者能够将一个或多个模块自在组合,打包成一个 App Pack 一致上架。在分发运转态,每个 HAP都能够单独分发满意用户单一运用场景,也能够多个 HAP 组合分发满意用户更加杂乱的运用场景,下图是2种不同的打包形式
- 形式一:打包成多个App Pack,不同App Pack的包名是不一样的,每个App Pack都需要单独上架。在运转态,使用和服务的生命周期彻底独立。
- 形式二:打包成一个 App Pack,App Pack 里面的 HAP 包名相同,一致上架。在运转态,使用生命周期彻底同享。
- 自在流通
鸿蒙体系供给了设备间自在流通的才能,使得开发者能够方便地开发出跨过多个设备的使用,自在流通可分为跨端搬迁和多端协同两种状况。他们分别是时间上的串行交互和时间上 的并行交互。自在流通不仅带给用户全新的交互体会,也为开发者搭建了一座从单设备年代 通往多设备年代的桥梁。 运用过华为手机+平板的人应该深深体会过超级终端带来的便当
- 手机与电脑、平板、搭载鸿蒙体系的轿车
一致生态、原生智能
- 一致生态
移动操作体系和桌面操作体系的跨渠道使用开发结构不尽相同,从烘托方式的视点能够概括为 WebView 烘托、原生烘托和自烘托这三类,鸿蒙体系对应的供给体系 WebView、ArkUI 结构和 XComponent 才能来支撑三种类型的跨渠道结构的接入干流跨渠道开发结构已有版别正在适配 HarmonyOS,根据这些结构开发的使用能够以较低本钱搬迁到鸿蒙体系
- 原生智能
鸿蒙体系内置强大的 AI 才能,面向鸿蒙生态使用的开发,通过不同层次的 AI 才能敞开,满意开发者的不同开发场景下的诉求,下降使用的开发门槛,帮助开发者快速完结使用智能化
鸿蒙生态透视
官网丰富的学习材料
现在鸿蒙开发者生态通过4年的沉淀现已初见成效了,官网的学习材料也比较丰富 developer.harmonyos.com/cn/develop/ 覆盖开发者全旅程,内容包含白皮书、Codelabs、视频课程、技能文章、指南、UX规划资源与指南、API 参阅、Sample Code 与FAQ。
开发套件
这个是开发者比较关心,现在鸿蒙开发套件也算比较丰富包含规划、开发、测验、运维套件以及 OS 敞开才能集
HUAWEI DevEco Studio(IDE)
开发者在使用开发进程中运用到的产品集合,包含 HUAWEI DevEco Studio 以及 HUAWEI DevEco Studio 集成的性能调优、设备模拟、命令行东西和 SDK。
JetBrain全家桶系列之一,十分简略上手
ArkUI 结构
ArkUI 是一套声明式开发结构,它具有简练自然的 UI 信息语法、丰富的 UI 组件、多维状态办理,以及实时多维度预览等才能,帮助开发者进步使用开发功率,并能在多种设备完结生动而流通的用户体会,十分简略上手
运用ArkTS言语来作为开发它在保 持 TypeScript(简称 TS)基本语法风格的根底上,对 TS 的动态类型特性施加更严格的约 束,引入静态类型。一起供给了声明式 UI、状态办理等相应的才能,让开发者以更简练、 更自然的方式开发高性能使用。
ArkUI 是鸿蒙生态原生的 UI 开发结构。主体结构如下图所示 ArkUI 结构供给给开发者两种开发方式:根据 ArkTS 的声明式开发范式和根据 JS 扩展的类 Web 开发范式。声明式开发范式更加简练高效,类 Web 开发范式对 Web 及前端开发者更友好。
华为除了争夺移动端开发者 更把前端开发者也包含了进来,共建生态
方舟编译器(ArkCompiler)
方舟编译器是鸿蒙体系作为手机、平板、电视、车机和智能穿戴等多种设备一致操作体系的编译运转时底座。 支撑多种编程言语、多种芯片渠道联合编译、运转而规划的一致编译运转时渠道。支撑包含动态类型和静态类型言语在内的多种编程言语,如 ArkTS、TS、JS 首要分成两个部分,编译东西链与运转时。编译东西链以ArkTS/TS/JS 源码作为输入,将其编译生成为 ABC(ArkCompiler Bytecode,即方舟字节码)文件。运转时直接运转字节码文件
是不是有JVM的影子
方舟前端东西链把解析源码、编译字节码 的进程从运转时搬迁到编译时,下降运转时的开支
编译构建
作为Android开发者必定对gradle构建东西不陌生,在鸿蒙华为自研了HUAWEI DevEco Hvigor 是一款华为自研轻量级编译构建东西,将编译操作进行任务 化办理,为开发者供给自动化的构建服务。其具有强大的构建才能,支撑多种言语(ArkTS、C/C++等)、多种文件(低代码描绘文件、资源文件等)的快速编译,终究生成 HAP/App 包。
此外Android Studio的 性能调优profile等也是一应俱全,此外HUAWEI DevEco Studio 在传统的“端开发”根底上新增了“云开发”才能,测验测验东西才能也是火力全开,做到人无我有人有我优。
用户及软件生态
现在来看全体仍是不错的。 华为之前的技能堆集和开发者联系运营的还不错:依据 HDC 最新数据,鸿蒙生态的设备数量现在已超过 7 亿,已有 220 万 HarmonyOS 开发者投入到鸿蒙世界的开发中,API 日调用 590 亿次,软硬件产品超过 350 款。
软件这块头部大厂正在适配鸿蒙,包含微信、抖音等,从华为来公司拜访交流的信息来看,现在现已有干流200+ 使用在适配鸿蒙 鸿蒙的策略便是先稳住大厂,尽量让大厂能跟进[首发适配],已知的腾讯、字节、小红书、百度、美团、东等企业都有必定鸿蒙根底,一些团队也许是根据 KPI ,也许是根据领导要求,都提前开端了 鸿蒙 Next 的支撑,所以鸿蒙 Next 在开始生态根底上仍是比当年的 WinPhone 好一些的。
游戏适配据官方透露差不多完结了干流50款效果,HarmonyOS NEXT 正在适配整个游戏生态链条。包含引擎、中台等都在进行适配,游戏引擎方面,现在适配了移动端三大引擎:Cocos、Unity、Unreal,而且针对各个引擎版别都在逐个适配,现在 HarmonyOS NEXT 现已完结对各个引擎版别的逐个适配,这个工作量十分大,像是 Cocos 2d-x 和 Creator 加在一起一共有 33 个版别,现在现已对每个版别都逐个适配了。尽管适配引擎很费事,可是适配好引擎后,游戏的接入只需要 7 天即可完结!,
不过这条路的确比较难,幸好还有「鸿蒙 4」,这样能够 和「鸿蒙 Next」 共存维护一段时间」,便是你不更新,能够继续用打补丁的鸿蒙 4 过度较长的一段时间,过渡期和用户维护仍是需要的。 而且一些大厂开端招聘鸿蒙的开发,更是为鸿蒙造势
鸿蒙NEXT对移动开发者的影响
鸿蒙1.0到4.0都是兼容Android的,这对Android生态其实没有太大影响,能够认为是了套壳Android,可是鸿蒙Next彻底不一样了,AOSP直接干掉了,而且这个雄心壮志的计划还有清晰的时间线
跨渠道的趋势
又多了一个操作体系,”三分天下”,软件研制的本钱相应会升高,那么跨端方案必定是首选。 鸿蒙也考虑到了这一点,除了有独当一面的开发UI结构ArkTS外,鸿蒙仍然兼容了市面上干流的跨渠道方案,比方flutter、ReactNative、Weex等 特别是flutter,距离2017年谷歌IO大会发布差不多6个年初了,是有必定的用户根底的,而且flutter作为UI结构,本身便是为了兼容Android、iOS、Fuchsia等操作体系,因此理论上是能够兼容鸿蒙的, 在引擎层面把桥接Android的底层代码,直接对接到了鸿蒙体系上,这样在这样flutter引擎下开发的代码直接能够跑在鸿蒙体系上,这个测验美团早在21年时就做过测验
让 Flutter 在鸿蒙体系上跑起来(tech.meituan.com/2021/01/22/…)
现在OpenHarmony-SIG 组织现已开端在flutter引擎上适配鸿蒙体系 flutter作为一个优秀的跨渠道方案在鸿蒙趋势下仍然是一个重要方案,不过有实力的大厂必定都在自研各自的跨端方案了,或许又是一个百花齐放的局势
大前端的趋势
大前端其实一向都在推动,事务团队能够节省人力本钱。 近些年 移动端和前端的技能栈形式在趋同,现在移动端的UI结构都在向前端靠拢,flutter、compose、weex、都是朝前端的“声明式”方式靠谱,小程序、uniapp也是大行其道,现在使用层开发移动端和前端的界限正在渐渐模糊,(除了一些实力大厂的能够养着巨大的细分团队)。鸿蒙的ArkTS,更是以js言语切入战场,天然下降的前端开发者的入场本钱,ArkUI更是在底层规划上兼容了前端团队,根据 ArkTS 的声明式开发范式和根据 JS 扩展的类 Web 开发范式。声明式开发范式更加简练高效,类 Web 开发范式对 Web 及前端开发者更友好。鸿蒙的呈现也会加快大前端的推动。
最终 华为正在线上线下全力推行,能够坚持重视一波,或许国产化对当时低迷的移动端商场是一个利好,是否真的能够遥遥领先 拭目以待吧
更多精彩,欢迎重视大众号【Android茶话会】
- 回复 面试官 取 或许是东半球最好的 Android面试&进阶小程序
- 回复 学习之路 取 Android学习道路以及经典电子书
- 回复 技能简历 取 精选简历模板一份
- 回复 进群 进技能交流群