【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

解读鸿蒙系统的 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技术论坛


华为鸿蒙应用开发官网

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2022-01-11 11:209526
用户头像
罗燕珊 InfoQ中文站编辑

发布了 426 篇内容, 共 248.1 次阅读, 收获喜欢 760 次。

关注

评论 3 条评论

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

一文了解 Dubbo 的代码架构

Apache Dubbo

Java 开源 源码 微服务 云原生

模块2

KING

2022 Gartner全球云数据库管理系统魔力象限发布 腾讯云数据库入选

科技热闻

模块二 -- 朋友圈高性能复杂度分析

陈实

「架构实战营」

chatGPT的49种应用场景介绍,各开发语言接入chatGPT参考指南

非喵鱼

Java Python 前端 编程语言 ChatGPT

数据库原理及MySQL应用 | 数据库安全加固

TiAmo

安全 数据库· 12月月更

精华推荐 | 【深入浅出RocketMQ原理及实战】「性能原理挖掘系列」透彻剖析贯穿RocketMQ的事务性消息的底层原理并在分析其实际开发场景

洛神灬殇

分布式事务 RocketMQ 可靠消息最终一致 12 月 PK 榜

Atlassian FaaS 云开发平台Forge解析

填空时光

敏捷 Faas Atlassian Jira

2022-12-16:给你一个长度为n的数组,并询问q次 每次询问区间[l,r]之间是否存在小于等于k个数的和大于等于x 每条查询返回true或者false。 1 <= n, q <= 10^5 k

福大大架构师每日一题

golang 算法 福大大

2022中国产业数字化发展成熟度区域指数分析——充分利用特长,形成区域比较优势,夯实中国式现代化建设基础

易观分析

数字化 产业

性能优化-内存泄漏、内存溢出、cpu占用高、死锁、栈溢出、FullGC频繁检测手段-总结与分享

C++后台开发

性能优化 后端开发 内存泄漏 linux开发 C++开发

AngularJS进阶(四十二)ng-options渲染的第一项为空问题分析及解决方案

No Silver Bullet

12月月更 ng-options 页面渲染 上拉加载

数据权限就该这么设计!!!

风铃架构日知录

数据 优化 数据权限 rbac 数据库权限

多名网络主播因恶意炒作被列入警示名单,如何打击这种违规行为

石头IT视角

ZBC陆续在主要CEX开启Staking,锁定市场大部分流通量成大利好

BlockChain先知

SpringBoot整合Swagger2,再也不用维护接口文档了!

@下一站

12月日更 12月月更 springboot整合 swagger2

相见恨晚!Git这些功能太好用了!

Jackpop

ZBC陆续在主要CEX开启Staking,锁定市场大部分流通量成大利好

EOSdreamer111

选取数据的原则

穿过生命散发芬芳

数据分析 12月月更

ZBC陆续在主要CEX开启Staking,锁定市场大部分流通量成大利好

股市老人

Vue进阶(贰零柒):Webpack 性能优化措施汇总

No Silver Bullet

性能优化 Vue webpack 12月月更

架构实战营模块8作业

冷夫冲

架构 构架 「架构实战营」

ZBC陆续在主要CEX开启Staking成近期利好,锁定市场大部分流通量

西柚子

Python开发游戏?也太好用了吧!

Jackpop

Chrome浏览器竟然可以用ChatGPT了!

Jackpop

专利进阶(一):软件专利工程师浅谈如何针对计算机软件类专利申请进行技术挖掘

No Silver Bullet

专利 12月月更 软件专利工程师 技术挖掘

数据权限就该这么设计!!!

小小怪下士

Java 程序员 数据权限

C++开发,这些GUI库一定不要错过!

Jackpop

SQL查找是否"存在",别再count了!

风铃架构日知录

MySQL 后端 Java、 java程序员 sql

实战整了一个后台服务,真香!

风铃架构日知录

多线程 线程池 网络 HTTP CGI

架构训练营-第10期-模块2作业

Geek_4db2d5

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