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的元年,对我们这些移动开发者来说,既是机遇也是挑战。在这个技术不断演进的时代,我们每一位开发者都站在一个新的起点上。
道阻且长,大家一起加油吧。
期待未来某一天回首,我们能够感概:轻舟已过万重山


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/220689.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次挖矿脚本应急排查

这里写目录标题 起因上机排查总结 起因 这几天返校进行实习答辩,没怎么关注服务器状态,结果收到了阿里云警告,咱也不知道怎么个事,突然就被种上挖矿脚本了(盲猜自己搭建的一些docker服务被打了) 上机排查 top看一下系统系统资…

小红书可观测 Metrics 架构演进,如何实现数十倍性能提升?

在当前云原生时代,随着微服务架构的广泛应用,云原生可观测性概念被广泛讨论。可观测技术建设,将有助于跟踪、了解和诊断生产环境问题,辅助开发和运维人员快速发现、定位和解决问题,支撑风险追溯、经验沉淀、故障预警&a…

css的filter全属性介绍

原图: 模糊(blur) 单位可为px或rem,值越大,越模糊 filter:blur(3px) filter:blur(0.3rem) 亮度(brightness) 值可为数字或百分数,小于1时,亮度更暗;等于1时,无变化&am…

vp与vs联合开发-通过CogAcqFifoTool工具连接相机

1.完成相机硬件配置后 2.完成vp与vs联合开发配置功能后 1.创建winform 项目 目的 : 搭建 界面应用 2. 1. vpp文件存入 项目的debug 目录中 目的: 在项目中加载本地vpp文件 读取相机工具 1.控件CogRecordDisplay 用于显示相机拍摄照片和实施显示的窗口 2和3 …

【一】FPGA实现SPI协议之SPI协议介绍

【一】FPGA实现SPI协议之SPI协议介绍 一、spi协议解析 spi协议有4根线,主机输出从机输入MOSI、主机输入从机输出MISO、时钟信号SCLK、片选信号SS\CS 。 一般用于主机和从机之间通信。由主机发起读请求和写请求,主机的权限是主动的,从机是被…

计算机网络2

OSI参考模型七层: 1.应用层 2.表示层 3.会话层 4.传输层 5.网络层 6.数据链路层 7.物理层 TCP/IP模型 5层参考模型

统一大语言模型和知识图谱:如何解决医学大模型-问诊不充分、检查不准确、诊断不完整、治疗方案不全面?

统一大语言模型和知识图谱:如何解决医学大模型问诊不充分、检查不准确、诊断不完整、治疗方案不全面? 医学大模型问题如何使用知识图谱加强和补足专业能力?大模型结构知识图谱增强大模型的方法 医学大模型问题 问诊。偏离主诉和没抓住核心。…

scrapy的入门和使用

scrapy的入门使用 学习目标: 掌握 scrapy的安装应用 创建scrapy的项目应用 创建scrapy爬虫应用 运行scrapy爬虫应用 scrapy定位以及提取数据或属性值的方法掌握 response响应对象的常用属性 1 安装scrapy 命令:     sudo apt-get install scrapy 或者&#x…

OpenCV技术应用(7)— 将图像转为热力图

前言:Hello大家好,我是小哥谈。本节课就手把手教大家如何将一幅图像转化成热力图,希望大家学习之后能够有所收获~!🌈 目录 🚀1.技术介绍 🚀2.实现代码 🚀1.技术介绍 伪彩色处…

[Excel] vlookup函数

VLOOKUP用法 VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])其中: lookup_value是你要查找的值table_array是你要在其中进行查找的表格区域col_index_num是你要返回的在table_array中列索引号range_lookup是一个可选参数,用于指定…

IDEA出现闪退或打不开的解决方法

目录 1. 问题所示2. 原理分析3. 解决方法4. 补充1. 问题所示 打开IDEA的时候过一会便闪退,可以再IDEA的右下角看到如下提示 (如果没有该提示,软件右下角也会有个红色感叹号,点开查看原因即可) 点开details方便排查闪退的具体原因: There is insufficient memory for the…

Nginx location+Nginx rewrite(重写)(新版)

Nginx locationNginx rewrite(重写) Nginx locationNginx rewrite(重写)一、location1、常用的Nginx 正则表达式2、location的类型3、location 的匹配规则4、location 优先级5、location 示例说明5.1只修改网页路径5.2修改nginx配置文件和网页路径5.3一般前缀5.4正则匹配5.5前缀…

Leetcode—11.盛最多水的容器【中等】

2023每日刷题&#xff08;六十三&#xff09; Leetcode—11.盛最多水的容器 实现代码 #define MAX(a, b) ((a) > (b) ? (a) : (b)) #define MIN(a, b) ((a) < (b) ? (a) : (b)) int maxArea(int* height, int heightSize) {int left 0, right heightSize - 1;int m…

electron与cesium组件入门应用功能

electron与cesium组件入门应用功能 运行应用效果图&#xff1a; electron应用目录&#xff0c;需要包括三个文件: index.html main.js package.json (一)、创建一个新项目 目录名称&#xff1a;project_helloWolrd (二)、生成package.json文件 npm init --yes(三&#x…

ChatGPT引领AI时代:程序员、项目经理、产品经理、架构师、Python量化交易师的翅膀

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 在当今AI时代&#xff0c;ChatGPT作为一项卓越…

多架构容器镜像构建实战

最近在一个国产化项目中遇到了这样一个场景&#xff0c;在同一个 Kubernetes 集群中的节点是混合架构的&#xff0c;也就是说&#xff0c;其中某些节点的 CPU 架构是 x86 的&#xff0c;而另一些节点是 ARM 的。为了让我们的镜像在这样的环境下运行&#xff0c;一种最简单的做法…

Unity SRP 管线【第四讲:URP 阴影】

URP 全文源码解析参照 引入 在UniversalRenderer.cs/ line 505行处 此处已经准备好了所有渲染数据&#xff08;所有数据全部存储在了renderingData中&#xff09; 我们只用renderingData中的数据初设置mainLightShadows bool mainLightShadows m_MainLightShadowCasterPass…

SVM —— 理论推导

SVM 支持向量线性可分最大间隔超平面最大间隔超平面的推导支持向量分类间隔的推导最优化问题 对偶问题拉格朗日乘子法强对偶性 SVM 优化软间隔解决问题优化目标及求解 核函数线性不可分核函数的作用常见核函数 SVM 算法优缺点 支持向量机&#xff08;Support Vector Machine&am…

AR室内导航如何实现?技术与原理分析

随着科技的进步&#xff0c;我们生活中许多方面正在被重新定义。其中之一就是导航&#xff0c;尤其是室内导航。增强现实&#xff08;AR&#xff09;技术的出现为室内导航带来了革命性的变革。本文将深入探讨AR室内导航的技术与原理&#xff0c;以及它如何改变我们的生活方式。…

【组合数学】生成函数

目录 1.形式幂级数2.生成函数性质3.生成函数求解递推关系4.生成函数在计数问题中的应用 1.形式幂级数 生成函数是解决计数问题的一种有效方法&#xff0c;它的中心思想是&#xff1a;对于一个有限或无限数列 a 0 , a 1 , a 2 , . . . {a_0,a_1,a_2,...} a0​,a1​,a2​,...&am…