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

2024-01-09 02:10

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


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

这篇关于HarmonyOS NEXT:技术革新与生态挑战的交汇点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/585604

相关文章

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

【HarmonyOS】-TaskPool和Worker的对比实践

ArkTS提供了TaskPool与Worker两种多线程并发方案,下面我们将从其工作原理、使用效果对比两种方案的差异,进而选择适用于ArkTS图片编辑场景的并发方案。 TaskPool与Worker工作原理 TaskPool与Worker两种多线程并发能力均是基于 Actor并发模型实现的。Worker主、子线程通过收发消息进行通信;TaskPool基于Worker做了更多场景化的功能封装,例

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数 一、环境说明二、页面之间相互传参 一、环境说明 DevEco Studio 版本: API版本:以12为主 二、页面之间相互传参 说明: 页面间的导航可以通过页面路由router模块来实现。页面路由模块根据页面url找到目标页面,从而实现跳转。通过页面路由模块,可以使用不同的url访问不同的页面,包括跳转到U

Node.js入门与生态全解析:包管理与构建工具详解

Node.js入门与生态全解析:包管理与构建工具详解 目录 🎯 包管理 使用 npm 和 yarn:项目依赖管理的利器创建和发布 npm 包:实现模块化与共享 ⚙️ 构建工具 使用 Webpack 和 Babel:高效打包与代码转换配置构建流程:优化与自动化的最佳实践 🎯 包管理 - 使用 npm 和 yarn:项目依赖管理的利器 在Node.js的开发过程中,包管理是核心环节