背景
在上周(2023年12月11日)我有幸参加了在上海举办的华为鸿蒙生态学堂创新实训营。
参加这个活动的原因是近期关于华为的HarmonyOS NEXT不再兼容Android的消息,也就是说我们的Apk无法在纯血版的HarmonyOS NEXT上运行。
随后就是一些头部的App厂商宣布启动针对鸿蒙原生应用的开发计划。
不得不说,这一连串的消息接踵而至的时候,确实会给其它App厂商带来一种紧迫感。
我们仿佛还沉浸在对HarmonyOS NEXT放弃Android兼容性这一决策的惊讶之中,还在讨论不兼容Android是否太过冒进,生态到底能不能做起来,便已经有App厂商开始行动起来了。
那我们要不要跟进就成为了一个重要的战略决策问题。如果跟进去做,那就要考虑投入成本的问题,以及这些投入是否能在HarmonyOS NEXT成熟后得到回报。
如果HarmonyOS NEXT生态建立非常缓慢甚至失败,那我们的投入的回报很可能达不到预期,就像当年的Windows Phone一样。
然而,基于 人无我有,人有我优 的基本原则,我们只能选择相信HarmonyOS NEXT的生态能够发展壮大,并提前做好准备,以便能够尽早占据这个新生市场的有利位置。
OpenHarmony和HarmonyOS的关系
首先这里解释一下 OpenHarmony 和 HarmonyOS 之间的关系
OpenHarmony和HarmonyOS之间的关系比较类似于Android Open Source Project (AOSP)与Android的关系。
OpenHarmony可以类比于AOSP,目前是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目。
而HarmonyOS,则是在OpenHarmony的基础上,由华为进行深入开发和优化的商业版本。这个过程类似于Google将AOSP作为基础,而后国内的手机厂商例如小米、OPPO,以及华为基于AOSP开发出自己特色的MIUI、ColorOS和EMUI等系统。
OpenHarmony是开源的,意味着其它的设备厂商也可以基于OpenHarmony根据自己的需求去定制开发自己的系统。
HarmonyOS 重要节点
下面是Harmony OS发展过程中的一些重要节点,数据来源于 百度百科。
这里我挑几个关键节点列举一下。
- 2019年8月,HarmonyOS正式发布。
- 2020年9月,HarmonyOS 2.0发布。
- 2023年2月,HarmonyOS 3.1发布。
- 2023年8月,HarmonyOS 4发布,同时在开发者大会上爆出了HarmonyOS NEXT的概念。
- 2023年12月,重量级的App厂商例如支付宝,麦当劳,网易游戏等宣布与华为合作,开启基于HarmonyOS NEXT的鸿蒙原生应用开发。
从这些关键时间节点可以看出,华为正在加速HarmonyOS NEXT的发展,并在大力推进Harmony OS的生态建立。
华为初期的策略是推动主要的App厂商适配鸿蒙系统,目前主要针对企业合作伙伴开发者提供最新的IDE和NEXT版本的SDK(API 10、API 11)。
个人开发者目前无法获取最新的IDE和SDK,预计会在2024年第一季度逐步放开权限,到时候大家都能够访问最新的文档和开发资源。
技术体系
在20年9月HarmonyOS 2.0刚发布的时候,我简单的体验了一下HarmonyOS的开发流程,当然当时并没有深入了解,只是初步了解了下其IDE以及编程语言的基本情况。
可以说当时HarmonyOS的技术语言体系还比较混乱(应该是为了兼容Android,以及降低过度阶段的开发成本)。
开发者可以用js,也可以用java。其IDE DevEco跟Android Studio类似都是基于Idea的开源版本开发的,这点对Android开发还是比较友好的。
如今,HarmonyOS NEXT应用开发的技术栈整体已经稳定下来了,首先Java肯定是剔除掉了,后续的开发语言就是基于TypeScript开发的一套新语言叫做 ArkTS ,
TypeScript是JavaScipt超集,而ArkTS就是TypeScript的超集。
对于Android开发的同学来讲上手难度也不高,因为很多概念都是类似的。
在UI框架方面,提供了一套叫做 ArkUI 的框架。ArkUI对标的就是IOS开发中的SwiftUI和Android开发中的Jetpack Compose,都是声明式UI开发框架,上手也不会很难,而且华为的文档都是中文的,看起来也没有什么太高的成本。
HarmonyOS NEXT的优缺点
在实训营中,讲师强调了技术领域中先发优势和后发优势的存在。作为一个相对年轻的操作系统,HarmonyOS NEXT仍有很大的发展空间和长远的道路要走。
缺点
- 生态系统尚在初期阶段
- 目前的生态肯定还是不能跟Android和IOS相比的,三方库以及开发资源都还有很大的发展空间。
- 比较依赖华为对于HarmonyOS NEXT的支持力度以及后续市场是否愿意买单存在风险。
- 开发者社区规模较小
- 作为一个新兴的平台,HarmonyOS NEXT的开发者社区规模相对较小,遇到问题解决起来可能需要花费更多时间和精力。
- 市场占有率较低
- 目前主要还是华为在推自家的HarmonyOS,跟Android和IOS相比,其市场占有率较低。
- 由于Google本身相对 “纯粹”一些,只提供系统层面的东西。而华为自己也有手机等硬件设备的业务,因此,以我粗浅的认知认为,国内的其它手机厂商跟华为也是竞争关系,是否愿意基于OpenHarmony去定制自己的系统要打个问号,毕竟从成本和市场占有率以及目前的商业竞争等因素来讲,其它手机厂商是缺少足够的动力去做这件事情。这一点可能会影响到HarmonyOS生态的建立。
- 新技术栈的适应
- HarmonyOS NEXT引入了新的技术体系,对于习惯使用Kotlin和Java的Android开发者来说,适应TypeScript和ArkTS需要额外的学习和适应成本。
优点
- 微内核设计 :
- HarmonyOS NEXT采用了多内核设计,支持针对不同资源首先的设备选用适合的OS内核,为上层提供基础操作系统能力。
- 简单讲就是手表用手表的内核,手机用手机的内核,车机用车机的内核。这样更加系统更加的轻量,性能应该会更好。
- 更现代化的开发套件和技术体系
- 现如今,各种编程语言的编程范式和思想都在趋同,而HarmonyOS NEXT后发的这个优势也就体现出来了,毕竟新生事物没有历史包袱,因此,HarmonyOS NEXT可以采用更现代化的开发工具以及编程思想为基础,从而规避掉一些Android存在的历史遗留问题
- 分布式技术
- HarmonyOS NEXT采用了先进的分布式技术,允许应用程序在多设备上共享资源和数据。包括HarmonyOS NEXT介绍的一些特性例如数据流转,多设备协同等,在实际的应用场景中还是很有优势的。
- 一次开发,多端部署
- HarmonyOS NEXT支持跨平台开发,提供统一的开发体验,降低开发成本,满足市场对跨平台应用的需求,有比较统一的开发体验。
- 系统本身集成了常用SDK
-对于一些常用的例如支付,地图,定位,扫码,TTS等SDK,HarmonyOS将其下沉至操作系统层面,提供了统一的开发体验,在包大小和功耗上有一定的优势。
结语
我并不是一个”花粉“,也比较反感无脑吹和无脑黑的一些言论。
客观来说,对于HarmonyOS NEXT后续生态的建立和发展来讲,我是心存担忧的。毕竟强如微软和诺基亚都没有把WindowPhone的生态给成功建立起来,HarmonyOS NEXT也可能面临类似的挑战。
但同时,我对华为勇于迈出这一步感到由衷的欣赏,无论是出于主动选择还是被动应对,华为的这一决策不仅是技术层面的挑战,往高了说也是国家战略层面重要的一环,在被制裁与封锁的阴影下,华为的这一决策显得尤为重要,人无我有,人有我优 才是硬道理。
作为一名开发者,也期待OpenHarmony和HarmonyOS NEXT能够蓬勃发展,早日建立起完善强大的生态。也希望自己能够在后续为国产系统生态的建立添砖加瓦,贡献自己的微薄之力。
让我们共同努力,为国产系统的繁荣和成功加油,携手前行,做大做强!
不能再写了,我都快被自己感动哭了,可以预见的是,2024年将成为HarmonyOS NEXT的元年,对我们这些移动开发者来说,既是机遇也是挑战。在这个技术不断演进的时代,我们每一位开发者都站在一个新的起点上。
道阻且长,大家一起加油吧。
期待未来某一天回首,我们能够感概:轻舟已过万重山!
感谢阅读,觉有有帮助点赞支持,如果有任何疑问或建议,欢迎在评论区留言。如需转载,请注明出处:喻志强的博客 ,谢谢!