HarmonyOS NEXT:技术革新与生态挑战的交汇点

背景

在上周(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的关系

首先这里解释一下 OpenHarmonyHarmonyOS 之间的关系

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发展过程中的一些重要节点,数据来源于 百度百科
这里我挑几个关键节点列举一下。

  1. 2019年8月,HarmonyOS正式发布。
  2. 2020年9月,HarmonyOS 2.0发布。
  3. 2023年2月,HarmonyOS 3.1发布。
  4. 2023年8月,HarmonyOS 4发布,同时在开发者大会上爆出了HarmonyOS NEXT的概念。
  5. 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后发的这个优势也就体现出来了,毕竟新生事物没有历史包袱,因此,HarmonyOS NEXT可以采用更现代化的开发工具以及编程思想为基础,从而规避掉一些Android存在的历史遗留问题
  • 分布式技术
    • HarmonyOS NEXT采用了先进的分布式技术,允许应用程序在多设备上共享资源和数据。包括HarmonyOS NEXT介绍的一些特性例如数据流转,多设备协同等,在实际的应用场景中还是很有优势的。
  • 一次开发,多端部署
    • HarmonyOS NEXT支持跨平台开发,提供统一的开发体验,降低开发成本,满足市场对跨平台应用的需求,有比较统一的开发体验。
  • 系统本身集成了常用SDK
    -对于一些常用的例如支付,地图,定位,扫码,TTS等SDK,HarmonyOS将其下沉至操作系统层面,提供了统一的开发体验,在包大小和功耗上有一定的优势。

结语

我并不是一个”花粉“,也比较反感无脑吹和无脑黑的一些言论。

客观来说,对于HarmonyOS NEXT后续生态的建立和发展来讲,我是心存担忧的。毕竟强如微软和诺基亚都没有把WindowPhone的生态给成功建立起来,HarmonyOS NEXT也可能面临类似的挑战。

但同时,我对华为勇于迈出这一步感到由衷的欣赏,无论是出于主动选择还是被动应对,华为的这一决策不仅是技术层面的挑战,往高了说也是国家战略层面重要的一环,在被制裁与封锁的阴影下,华为的这一决策显得尤为重要,人无我有,人有我优 才是硬道理。

作为一名开发者,也期待OpenHarmony和HarmonyOS NEXT能够蓬勃发展,早日建立起完善强大的生态。也希望自己能够在后续为国产系统生态的建立添砖加瓦,贡献自己的微薄之力。
让我们共同努力,为国产系统的繁荣和成功加油,携手前行,做大做强!

在这里插入图片描述

不能再写了,我都快被自己感动哭了,可以预见的是,2024年将成为HarmonyOS NEXT的元年,对我们这些移动开发者来说,既是机遇也是挑战。在这个技术不断演进的时代,我们每一位开发者都站在一个新的起点上。
道阻且长,大家一起加油吧。
期待未来某一天回首,我们能够感概:轻舟已过万重山


感谢阅读,觉有有帮助点赞支持,如果有任何疑问或建议,欢迎在评论区留言。如需转载,请注明出处:喻志强的博客 ,谢谢!

原文地址:https://blog.csdn.net/yuzhiqiang_1993/article/details/135031319

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读1.4k次。被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被@Observed装饰的项,或者是class object中是属性,这个属性同样也需要被@Observed装饰。单独使用@Observed是没有任何作用的,需要搭配@ObjectLink或者@Prop使用。_鸿蒙ark对象数组
文章浏览阅读1k次。Harmony OS_harmonyos创建数据库
文章浏览阅读1.1k次,点赞25次,收藏23次。自定义组件Header.ets页面(子组件)//自定义组件@Component//组件声明private title:ResourceStr//接收的参数build(){Row() {index.ets(父组件)//导入自定义组件@Entry@Componentbuild() {Column() {/*** 1. 自定义组件调用-----自定义组件------* 2. 在调用的组件上设置样式*/ShopTitle({ title: '商品列表' })
文章浏览阅读952次,点赞11次,收藏25次。ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提升移动应用界面开发效率30%。您只需使用一套ArkTS API,就能在Android、iOS、鸿蒙多个平台上提供生动而流畅的用户界面体验。_支持ios 安卓 鸿蒙next的跨平台方案
文章浏览阅读735次。​错误: 找不到符号符号: 变量 Layout_list_item位置: 类 ResourceTable_错误: 找不到符号 符号: 变量 resourcetable 位置: 类 mainabilityslice
文章浏览阅读941次,点赞23次,收藏21次。harmony ARKTS base64 加解密_鸿蒙 鸿蒙加解密算法库
文章浏览阅读860次,点赞21次,收藏24次。使用自定义布局,实现子组件自动换行功能。图1自定义布局的使用效果创建自定义布局的类,并继承ComponentContainer,添加构造方法。//如需支持xml创建自定义布局,必须添加该构造方法实现ComponentContainer.EstimateSizeListener接口,在onEstimateSize方法中进行测量。......@Override//通知子组件进行测量//关联子组件的索引与其布局数据idx++) {//测量自身。_鸿蒙javaui
文章浏览阅读917次,点赞25次,收藏25次。这里需要注意的是,真机需要使用华为侧提供的测试机,测试机中会安装纯鸿蒙的系统镜像,能够体验到完整的鸿蒙系统功能,纯鸿蒙应用目前还不能完美地在 HarmonyOS 4.0 的商用机侧跑起来。当前,真机调试需要使用华为侧提供的测试机,测试机中会安装纯鸿蒙的系统镜像,能够体验到完整的鸿蒙系统功能,纯鸿蒙应用目前还不能完美地在 HarmonyOS 4.0 的商用机侧跑起来。另外,由于样式的解析是基于组件文件的纬度的,因此样式文件只能应用于被其引用的组件文件中,而不能跨文件应用,并且样式文件也只支持类选择器。_鸿蒙 小程序
文章浏览阅读876次,点赞17次,收藏4次。2. HarmonyOS应用开发DevEcoStudio准备-1HUAWEI DevEco Studio为运行在HarmonyOS和OpenHarmony系统上的应用和服务(以下简称应用/服务)提供一站式的开发平台。
文章浏览阅读811次。此对象主要映射JSON数组数据,比如服务器传的数据是这样的。_arkts json
文章浏览阅读429次。鸿蒙小游戏-数字华容道_华为鸿蒙手机自带小游戏
文章浏览阅读1.1k次,点赞24次,收藏19次。Ability是应用/服务所具备的能力的抽象,一个Module可以包含一个或多个Ability。
文章浏览阅读846次。本文带大家使用MQTT协议连接华为IoT平台,使用的是E53_IA1 智慧农业扩展板与 BearPi-HM_Nano 开发主板_mqtt 如何对接第三方iot平台
文章浏览阅读567次。HarmonyOS_arkts卡片
文章浏览阅读1k次,点赞19次,收藏20次。ArkTS开发鸿蒙OS连接mongoDB(后端node.js)2024最新教程
文章浏览阅读1.2k次,点赞23次,收藏15次。HarmonyOS与OpenHarmony(1)本质上的不同是:HarmonyOS是鸿蒙操作系统,而OpenHarmony则是从开源项目。这里可以联想一下Android,比如小米手机在Android开源系统的基础上开发了MIUI的手机操作系统,HarmonyOS就类似于MIUI,OpenHarmony类似Android基础底座。(2)HarmonyOS:是双框架,内聚了AOSP(Android Open Source Project )和OpenHarmony等。_鸿蒙模拟器开了怎么跑代码
文章浏览阅读1.1k次,点赞21次,收藏21次。鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Navigation组件。
文章浏览阅读2k次。由于之前的哥们匆忙离职了,所以鸿蒙手表项目的新版本我临时接过来打包发布,基本上之前没有啥鸿蒙经验,但是一直是做Android开发的,在工作人员的指导下发现打包配置基本上和Android一样,所以这些都不是问题,这里记录一下使用过程中遇到的问题。!过程和遇到的问题基本上都讲解了,关机睡觉,打卡收工。_鸿蒙系统adb命令
文章浏览阅读7.3k次,点赞9次,收藏29次。39. 【多选题】_column和row容器中,设置子组件在主轴方向上的对齐格式
文章浏览阅读1.1k次,点赞13次,收藏24次。18.鸿蒙HarmonyOS App(JAVA)日期选择器-时间选择器点击button按钮显示月份与获取的时间。_harmonyos农历获取