写点什么

解读鸿蒙系统的 2021:喧嚣褪去,生态初具规模

  • 2022-01-11
  • 本文字数:3653 字

    阅读完需:约 12 分钟

解读鸿蒙系统的2021:喧嚣褪去,生态初具规模

本文是“2021 InfoQ 年度技术盘点与展望”特别策划文章,由 InfoQ 编辑部制作呈现,聚焦 HarmonyOS(鸿蒙操作系统)在 2021 年的重要动态和进展。


“鸿蒙,成了!!”2021 年 10 月 23 日,华为常务董事、消费者业务 CEO、智能汽车解决方案 BU CEO 余承东在其个人微博上宣布道。2021 年是 HarmonyOS 自 2019 年发布以来的第三年,这一年 HarmonyOS 的舆论热度已经不比前两年,但这不是坏消息。相比起身处国与国之间技术博弈的漩涡,“韬光养晦”的时刻对 HarmonyOS 来说更具意义。


本文将带您一起回顾 2021 年 HarmonyOS 的重要动态和技术进展,并展望其 2022 年的发展。感谢多位专业人士在本文写作过程中提供了非常有价值的观点,特别致谢(排名不分先后):优酷高级无线开发专家刘洋、Cocos 引擎技术总监凌华彬、新浪微博客户端技术负责人高一航。

动态回顾

余承东口中的“鸿蒙成了”,实际上是指“鸿蒙生态已初具规模”。官方公布的最新数据显示,华为已经有 2.2 亿+设备搭载 HarmonyOS,来自生态合作伙伴的设备有 1 亿+搭载 HarmonyOS。2020 年 12 月,华为发布 HarmonyOS 2.0 手机开发者 Beta 版本,接着在半年后的 2021 年 6 月,随着 HarmonyOS 2.0 的顺利发布,到 12 月份,所有规划中机型的鸿蒙正式版的适配推送已基本完成,其中包括不少华为、荣耀的旧款手机和平板产品。


原子化服务能力是鸿蒙系统的特色,其免安装、即用即走的特性对用户更加友好,对 App 开发者来说可以提高用户活跃度。因此这一年 HarmonyOS 系统的原子化服务可以说是“野蛮生长”,点开服务中心可以看到“五花八门”的原子化卡片,覆盖各行各业,比如中国国际航空推出了“中国国航”,点击卡片即可一键进行预订机票、查看行程、办理值机等操作;广发证券推出“行情服务”、“开户服务”、“秒答服务”等等......生态中“吃螃蟹”的不仅只有互联网公司。


与此同时,HarmonyOS 社区也变得越来越热闹。市面上有越来越多的 HarmonyOS 开发类书籍,以及相关的开发者网站和公众号,开源网站上也出现不少开发者上手 HarmonyOS 的开源项目。HarmonyOS 官网近日还推出了 HarmonyOS 开发者资源中心——DevEco Marketplace,汇总了 HarmonyOS 开发相关的原生库、三方库、示例代码等各类资源。


简要回顾 2021 年,HarmonyOS 主要有以下几个重要动态:


  • 2021 年 5 月 18 日,华为宣布将“Work With HUAWEI HiLink”品牌和“Powered by HarmonyOS”品牌融合升级为“HarmonyOS Connect”品牌,即鸿蒙智联,原 HiLink 开发者平台与 HarmonyOS 认证平台统一升级至鸿蒙智联生态服务平台。同年 8 月 18 日,鸿蒙智联设备认证正式上线。

  • 2021 年 6 月 2 日,华为正式发布 HarmonyOS 2.0 以及搭载 HarmonyOS 2 的多款新产品。

  • 2021 年 10 月 22 日,华为发布 HarmonyOS 3 开发者预览版。预计 2022 年一季度,华为将发布 HarmonyOS 3 开发者 Beta 版。

  • 2021 年 12 月 23 日,华为发布鸿蒙汽车 AITO 问界 M5,搭载 HarmonyOS 座舱。

技术演进和发展方向

10 月发布的 Harmony OS 3.0.0 开发者预览版,相比起 2020 年发布的 Harmony OS 2.0 版本,在性能以及开发者体验上都有了大幅提升。


Harmony OS 3.0.0 开发者预览版围绕“弹性部署、超级终端、一次开发多端部署”继续演进。随着该版本的发布,HarmonyOS 应用与服务开发工具套件全家桶也全面升级,包含了新一代的声明式 UI 框架 ArkUI 3.0、多语言跨平台编译器 ArkCompiler 3.0、跨端开发工具 DevEco Studio3.0,以及基于 TS/JS 语言的 API 7。

方舟开发框架 3.0

“一次开发多端部署”是 Harmony OS 的主打亮点,可实现通过一套工程代码、一次开发上架,即可按需部署到不同设备。为了实现这一目标,华为主要从 Harmony 系统能力、ArkUI 3.0 框架能力和开发工具能力三个方面着手。


ArkUI 3.0(方舟开发框架 3.0)新引入了基于 TypeScript(简称 TS)扩展的声明式开发范式。“基于 TS 扩展的声明式开发范式”是方舟开发框架提供的两种开发范式之一,采用更接近自然语义的编程方式,让开发者可以直观地描述 UI 界面,不必关心框架如何实现 UI 绘制和渲染,实现简单和高效的开发。


目前,HarmonyOS 提供两种 UI 框架、三种开发范式。


新的 ArkUI 3.0 框架,除了引入新一代声明式 UI 开发范式,还设计了统一的前后端扁平化渲染机制,进一步提升 UI 渲染的性能并降低内存消耗,并深度结合 ArkCompiler 3.0 的方舟编译器和方舟运行时,提升语言的执行性能和跨语言通信能力。在工具方面,针对新一代的声明式 UI 开发范式构建了新的编译工具链和预览引擎,提供所见即所得的实时预览机制。



另外,在 ArkUI 3.0 框架中,类 Web 范式会继续保留,即类 Web 范式和新一代的声明式 UI 范式都可以支持,可以各自独立使用,但不能混用


UI 编程框架在应用开发中起了至关重要的作用。目前,拥有新开发范式的 ArkUI 3.0 走出了坚实的第一步,并已开始支撑更多的关键应用。接下来,除了基础设施的持续完善,HarmonyOS 将会重点支持生态扩展,主要包括高级 UI 能力的提升,比如三方地图、游戏的融合以及 Web 能力增强等。

方舟编译器 3.0

HarmonyOS 3.0.0 提供 ArkCompiler 3.0(方舟编译器 3.0),用于应用的编译构建。ArkCompiler 是为支持多种编程语言、多种芯片平台的联合编译、运行而设计的统一编程平台,其目标是提供一个语言可插拔、组件可配置的多语言编译器运行时。


  • 语言可插拔:设计架构上支持多种语言接入,ArkCompiler 有能力提供具有高效执行性能且具有跨语言优势的多语言运行时,也可以在小设备上提供高效轻量的单一语言运行时。

  • 组件可配置:ArkCompiler 具有丰富的编译器运行时组件系统。通过定制化配置编译运行时的语言和组件,以支持手机、PC、平板、电视、汽车和智能穿戴等多种设备上不同的性能和内存需求。目前,ArkCompiler 3.0 主要支持的语言是 JavaScript、TypeScript 和 Java。未来,ArkCompiler 在持续优化基础体验的同时,更会进一步结合 HarmonyOS 万物互联的需求,在跨端迁移、多端协同等创新场景,从编译器和运行时等方面提供底层的解决方案和优化机制,提升分布式应用的开发和运行体验。

DevEco Studio 3.0

HUAWEI DevEco Studio 是开发 HarmonyOS 应用和原子化服务的一站式集成开发环境(IDE)。2021 年的最后一天,官方发布了 DevEco Studio 3.0 Beta2 版本。


在 HarmonyOS 3.0.0 开发者预览版发布的时候,开发者 IDE 工具已经可以升级到 3.0 Beta1 版本。其关键特性包括:支持 ArkUI 3.0 框架低代码开发功能提升(新增支持 Tablet 设备开发、面向不同尺寸界面设计效果可自动适配的原子布局能力,以及多设备开发切换功能)、新增 Scoring Tool 评测工具(开发者可以通过 DevEco Studio 连接本地设备或远程真机,自主遍历 HarmonyOS 应用或原子化服务的功能,快速进行自测试)等。


3.0 Beta1 版本已经支持用方舟编译器编译由 eTS 语言开发的应用,本次升级新增相应的工程调试功能,进一步支撑使用方舟编译器的 eTS 工程开发。

当前存在的问题

毕竟是操作系统界的后来者,发展初期 HarmonyOS 的开发体验还不够完善,比如存在由于开发环境迭代较快导致出现 bug 的问题,其他问题还有 IDE 体验不够好、部分文档写得不够详细、所提供的 demo 还不够完善等等。


同时也有人疑惑,HarmonyOS 同时存在 JS 框架、Java 框架,究竟华为未来会主推哪一种开发框架,目前似乎还没有明确的结论。


长远地看,目前 HarmonyOS 可以兼容 Android 应用,那未来是否一直会支持下去?而开发者开发纯鸿蒙 App 的必要性究竟有多大?对于很多 App 来说,开发纯鸿蒙 App 并不现实,毕竟大量的移动中间件还未适配鸿蒙。


另外,由于众所周知的问题,华为当前在推出新机上遇到非常大的困难,随着未来旧机器逐渐退役,HarmonyOS 的保有量是否能维持在一个高位?未来又是否会有别的手机厂商采用 HarmonyOS?华为是 HarmonyOS 的开发者和维护者,也是手机市场的重要玩家,华为是否能保持平台的中立性,对可能的其他 HarmonyOS 采用者一视同仁?


以上这些问题是当前 HarmonyOS 在发展途中遇到的常见和比较棘手的问题。技术问题终究可以被解决,而关于长期发展的问题,或许还得靠开源(OpenHarmony)才能破解。

写在最后

展望 2022 年,我们期待 HarmonyOS 生态得到进一步完善和丰富,有更多的非华为终端设备开始使用 HarmonyOS,以及跟 HarmonyOS 联动,也期待能有更多的纯鸿蒙 App 推向市场,这需要华为持续提供更多的服务和开放更多的能力。另外,方舟开发框架、方舟编译器的发展也很值得关注。按照官方说法,TS/JS 语言将在 HarmonyOS 应用开发中越来越重要。


最后,笔者还想提下 2021 年 HarmonyOS 的一个动态,那就是和欧拉开源操作系统的“互通”。


在 2021 年 9 月举办的华为全连接大会上,华为宣布欧拉和鸿蒙已经实现了内核技术共享,未来计划将鸿蒙的分布式软总线能力移植到欧拉,让搭载欧拉操作系统的设备可以自动识别和连接鸿蒙终端。后续进一步在安全 OS、设备驱动框架、以及新编程语言等方面实现共享。当时还提到,2022 年华为将发布名为“仓颉”的应用编程语言,鸿蒙和欧拉会基于同样的编程语言开发,如此一来,就能更好地完成应用的迁移和实现生态互通的目标。


不管是 HarmonyOS、方舟编译器或是未来的仓颉语言,均是华为在基础软件做全方位布局的体现,我们或许还可以期待 2022 年华为在根技术方面的更多突破。


参考资料来源:


HDC2021 HarmonyOS技术论坛


华为鸿蒙应用开发官网

2022-01-11 11:2011445
用户头像
罗燕珊 AI practitioner | Tech media

发布了 553 篇内容, 共 428.3 次阅读, 收获喜欢 862 次。

关注

评论 3 条评论

发布
用户头像
新语言对标rust还是kotlin?
2022-01-12 12:29
回复
应该是kotlin
2022-01-13 20:56
回复
带GC的,不过融入一部分Rust的特性
2022-01-24 12:17
回复
没有更多了
发现更多内容

吃透阿里2023版Java性能优化小册后,我让公司系统性能提升了200%

程序员小毕

数据库 程序员 JVM 架构师 Java性能优化

在统信UOS上二进制安装GreatSQL

GreatSQL

MySQL UOS 统信 greatsql greatsql社区

关于微服务架构的思考

HummerCloud

微服务 云原生

面试了20+前端大厂,整理出的面试题

loveX001

JavaScript

腾讯前端必会面试题(必备)

loveX001

JavaScript

有爱相伴,宠爱有家,皮皮App发起关爱流浪动物主题公益活动

联营汇聚

瓴羊Quick BI即席分析工具:创设数据分析捷径

巷子

ChatGPT风口下的技术“狂飙”,天翼云荣登ZeroCLUE榜首

天翼云开发者社区

Java 集合中的排序算法浅析

京东科技开发者

jdk 后端 Java、 排序算法 企业号 2 月 PK 榜

【FAQ】集成分析服务的常见问题及解决方案

HarmonyOS SDK

HMS Core

面试官:说说React-SSR的原理

beifeng1996

React

基于飞桨PaddleClas完成半导体晶圆图谱缺陷种类识别

飞桨PaddlePaddle

paddle 开源 飞桨

开学季,5门优选好课助你在新学期狂飙!

博文视点Broadview

vivo版本发布平台:带宽智能调控优化实践-平台产品系列03

vivo互联网技术

版本发布 CDN带宽

「读源码」为什么注册路由时没有传入上下文,在接口方法中却能取到?

王中阳Go

Go golang 高效工作 学习方法 程序员

最初设计时就会避开钽电容,这是为什么呢?三大理由告诉你原因

元器件秋姐

元器件 电容 钽电容

百度前端必会react面试题总结

beifeng1996

React

unittest使用parameterized参数化后如何调用添加到测试套件中

Python 单元测试 自动化测试 unittest 测试套件

疑似45亿条递信息泄露,“三类主体”如何应对?

极盾科技

数据安全

假如面试官问你Babel的原理该怎么回答

loveX001

JavaScript

面试官:你是怎样进行react组件代码复用的

beifeng1996

React

擅用瓴羊Quick BI报表分析工具,数据分析事半功倍

夏日星河

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

迷恋管理是一种病

虎妞先生

搞懂Druid之连接创建和销毁

小小怪下士

Java 程序员 后端 Druid

文盘Rust -- 本地库引发的依赖冲突

京东科技开发者

后端 Clickhouse 本地计算 rust语言 企业号 2 月 PK 榜

ModStartBlog v6.7.0 后台管理优化,页面宽度调整

ModStart

Percona 8.0.30中show engine innodb status导致coredump排查及分析

GreatSQL

MySQL MySQL 高可用 :MySQL 数据库 greatsql greatsql社区

Prompt Learning: ChatGPT也在用的NLP新范式

Baihai IDP

人工智能 自然语言处理 nlp ChatGPT 企业号 2 月 PK 榜

瓴羊Quick BI为企业决策者提供可视化分析服务

小偏执o

BeyondCampus-护航高校网络安全

权说安全

网络安全 零信任

解读鸿蒙系统的2021:喧嚣褪去,生态初具规模_语言 & 开发_罗燕珊_InfoQ精选文章