6月2日华为正式发布了HarmonyOS 2.0,一时间网上展开了各种讨论,有大赞华为为国产OS争光添彩的,有说还是在用安卓套壳的,我也来谈谈我的一些看法。
HarmonyOS2.0特性介绍
注:图源网络
本次鸿蒙发布会针对HarmonyOS2.0主要发布了6个特性,分别是:
- One as All,All as One:采用了全栈解耦的架构,支持的设备RAM大小从128KB到GB级别,比如风扇(KB级别),手表(MB级别),手机(GB级别),都只需要一个操作系统(HarmonyOS 2.0)。
- 分布式技术:参考计算机硬件总线,在1+8+N设备间搭建一条“无形”的分布式软总线,具备自发现、自组网、高带宽、低时延的特点,根据需要自由组合硬件。
- 统一的控制中心:一个界面控制所有分布式软总线上挂载设备的统一的控制中心,且可用在不同的设备上,这样就可以在手机甚至手表上统一控制比如家里的各种电器了。
- 超级终端:将多个终端(比如手机和电视)组合成超级终端,通过统一的控制中心,非常方便的就可以把手机和电视组合成超级终端,手机就可以使用电视的显示屏了。
- 分布式编程框架:提出分布式编程框架,将设备各种能力抽象成原子化服务,代替手机APP,以卡片的形式实现服务在设备间流转,且免安装。
- 全栈优化:通过全栈优化,提供更好的性能体验,优化点包括存储,显示等。
总的来看,核心思想是为了在万物互联、万物智能时代,解决连接复杂、操控繁琐、体验割裂三大问题,并且从设备为中心转换为以内容为中心(内容在各设备间自由流转)。
HarmonyOS总体架构
注:图源网络
这个是HarmonyOS的总体架构,从下向上分别是内核层,系统服务层,框架层和应用层。
在内核层,HarmonyOS目前是有Linux Kernel(主要用在手机),LiteOS(用在手表、风扇等领域)两个内核,虽然华为宣称HarmonyOS是一套操作系统,本质上看来还是两套。但华为的野心肯定不止于此,一方面在系统服务层的需求侧,华为肯定会制定对于内核的标准,这样可以包括更多的内核进来,另一方面,华为之前宣传的微内核,可能也会是用来统一内核的一个方向,是否能统一,我们持续关注。
在系统服务层,华为扩展了分布式的各种技术,比如分布式软总线,分布式数据管理和分布式任务调度,并在此基础上提出了各种系统能力,分成4大类:系统基本能力子系统集,基础软件服务子系统集,增强软件服务子系统集和硬件服务子系统集。其中的最重要的分布式相关技术是在系统基本能力子系统集中。
框架层主要定义了应用开发框架和UI开发框架。在UI开发框架中,为了解决用户体验割裂的问题,统一了UI的跨屏交互;在应用开发框架中,又提出FA/PA的原子能力,使用卡片式即用即走的技术,打破了应用市场的格局,降低了安装应用的获客成本 。
应用层主要是针对不同场景的不同应用。不再赘述。
HarmonyOS与安卓的关系
注:图源网络
一言以蔽之HarmonyOS与安卓关系为:
HarmonyOS(手机端) = OpenHarmony + AOSP + HMS
手机侧从安卓升级鸿蒙之后,AOSP完整保留(会在JVM虚拟机、文件系统等方面做一些优化,体现鸿蒙的“快”),也就完整兼容原有的安卓APP,不需要进行APP升级。手机侧鸿蒙系统包含完整的安卓,所以有“安卓套壳”之嫌。这也是生态兼容性的无奈之举,只有如图中鸿蒙APP的数量越来越多,完全替换安卓APP的时候,也就不再有套壳的必要了。
OpenHarmony是华为宣称鸿蒙系统开源后建立的开源项目,热度较高,包括了本次发布的各种特性代码,华为对生态的重视态度可见一斑。OpenHarmony中开源了LiteOS的两个版本,M和A版本,对应芯片的Cortex M和A系列。理论上可以覆盖4GB以下内存的设备。目前用在智能家居、手表等弱交互设备上。
华为提出了一整套鸿蒙API,将全部的安卓API进行封装,并增加了诸如分布式数据同步、分布式RPC之类的接口。对于一个具体的APP,未来可能出现安卓版与鸿蒙版,两者都可以运行在鸿蒙系统上,但鸿蒙版APP无法运行在安卓之上。
鸿蒙配套的HMS并未开源,其会建立类似google play这样的“鸿蒙应用商店”。这是国内其他手机厂家如果要切换鸿蒙的时候极不愿意看到的,所以HMS目前不强制其他手机厂家采用,这部分博弈结果待持续观察。
总的来说,华为的“诗和远方”是从上至下逐层替换安卓,但“眼前的苟且”是完全兼容安卓现有生态所有APP,同时新增支持鸿蒙分布式新特性。
接下来,让我们看看上图中的“分布式”的技术细节。
HarmonyOS核心技术:分布式技术
注:图源网络
OpenHarmony最核心和最底层的技术是分布式技术,从以下几点可以看出:
- 从宣传角度,HarmonyOS重点宣传的是各种场景化分布式能力。
- 从品牌角度,HarmonyOS生态品牌是HarmonyOS Connect,Connect强调的就是分布式的互联互通。
- 从技术角度,HarmonyOS和安卓最主要的技术区别就是分布式能力。
分布式技术的核心是分布式软总线,分布式软总线的技术目标是让使用者像使用硬件总线一样的体验,方便的自由组合硬件设备。
软总线开发上强调极简。主要包括两类接口,一类是会话建立,另一类是数据传输。用户调用几个API就能够在高带宽,高可靠的数据通路上传输数据。
核心技术包括了多跳自组网,多协议混合组网和极简传输协议。
- 多跳自组网完成局域网内设备的自组织网络构建,混合组网是用于完成Wi-Fi和蓝牙等多种不同连接方式的混合组网。不同网络连接方式之间会有轻量级的网关做好数据转换。
- 极简传输协议将5层协议简化为1层,简化协议层级,减少层间交互开销。针对性能,华为在软硬结合部分做了非常多的优化。保证了分布式软总线的各项性能指标。而HarmonyOS宣称的高吞吐和高容错,据分析,其实是基于Wi-Fi6等最新技术测试的数据。
在分布式软总线基础上,构建了分布式核心技术能力,分布式数据管理、分布式任务调度和分布式安全:
- 分布式数据管理,提供了如文件系统,数据库等服务。在分布式软总线高速通道基础上,优化各种文件缓存和预取策略,获得比Samba(一种局域网资源共享协议)更好的性能。
- 分布式任务调度,支持跨设备的应用远程启动,调用及迁移等操作。还是基于底层高速的分布式软总线,及调度策略,实现了高效的RPC(远程调度)。通过这个能力,使用者可以调用局域网内不同智能硬件的能力,如屏幕,摄像头,算力等。
- 分布式安全,实现了点到点设备连接时的互信认证和设备群组管理能力,应用签名和验签,系统权限等能力。
华为为什么重兵HarmonyOS及如何做的?
注:图源网络
在我看来,华为之所以重兵HarmonyOS,核心出发点在于为自己的消费者业务服务,毕竟华为已然是一家硬件品牌公司,消费者业务产品线从手机到平板,再到电视、手表、音箱等,逐渐扩张的产品线需要一套操作系统来统一,只不过是借着万物互联的趋势,提出了全场景“超级终端”的设想,简言之就是HarmonyOS是为“超级终端”里各个单品打造的,这也是华为一直宣称HarmonyOS与Android的定位不同之所在。
技术上,前面也已提到,HarmonyOS以分布式技术为核心,用来解决全场景“超级终端”所面临的连接复杂、操控繁琐、体验割裂三大问题。
生态方面,华为也希望借着HarmonyOS,重新打造三大生态:应用市场生态、HarmonyOS Connect IoT设备连接生态、开源操作系统生态。
总结
HarmonyOS的优势就是其1+8+N战略。HarmonyOS在华为瞄准下一代超级入口打造操作系统打磨分布式核心技术,解决连接复杂、操控繁琐、体验割裂三大问题;以手机为核心,围绕智慧出行、智能家居、运动健康、智慧办公、影音娱乐5大场景,构建全场景的“超级终端”的一致性体验;并且打造三大生态(应用市场生态、HarmonyOS Connect IoT设备连接生态、开源操作系统生态)。今年规模预计达到3亿个(在网手机约6亿可支持升级到鸿蒙OS),同时也继续兼容现有安卓APP生态。但其劣势就是角色冲突,既是运动员又是裁判。
如果从“四看”来点评HarmonyOS的话:
- 看“自己”:鸿蒙OS成败关键在于华为手机的发展?手机业务的死亡是否反而会使鸿蒙OS凤凰涅磐?比如最近的荣耀手机,从华为剥离后,市场占有率从3%回到了9.5%,实现了涅磐重生。
- 看竞对:小米、OV等手机厂商核心是要掌控UI交互、应用市场分发、以及IoT设备连接生态,很可能不会直接采用鸿蒙OS。
- 看行业:对比谷歌,手机操作系统是一个生态之战,需要花大价钱去培育生态,是先赔钱后赚钱的模式,要看华为如何放弃自己的短期利益。
- 看市场:在2C消费互联网领域,全场景“超级终端”的体验是非常好的体验,这个良好的体验一定是未来的发展趋势。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。