电子工程专辑作为一家探讨电子工程的媒体,操作系统作为软件上层,跟我们的关系其实算不上特别大。不过当一个系统涉及到物联网设备的时候,它面向的开发者,其生态的一面是软件开发者,另一面则是集成该系统的硬件OEM厂商。
HarmonyOS(鸿蒙)就是这样一个系统,所以我们也总在持续跟进HarmonyOS。今年华为HDC开发者大会的主题演讲,重点自然还是HarmonyOS及其生态。余承东在主题演讲中展示的这张图很好地表达了OpenHarmony、HarmonyOS、HarmonyOS Connect,以及HMS之间的关系。事实上,HDC 2021首日主题演讲也就是围绕这几个组成部分去做深入的。
所以主题演讲主要内容包括了:
- HarmonyOS 3 Developer Beta开发者测试版即将于明年Q1问世;
- HarmonyOS Connect(4.0)及其开发相关的新变化;(推荐阅读!)
最后其实还有专门的一个主题演讲是相关于鸿蒙生态的网络安全与隐私保护的——这将不是本次HDC 2021系列文章探讨的重点。本文就来谈谈众所期待的HarmonyOS 3 Developer Beta开发者测试版,都有哪些变化。点击上面的链接,可了解HarmonyOS生态的其他内容(尤其推荐第二个链接)。另外,以下内容和理念阐述基于华为在主题演讲中的表达,其中很多特性的实现细节我们并不清楚。
HarmonyOS 3提升前瞻
毕竟这是“开发者大会”,面向用户的HarmonyOS 3特性介绍其实很少;这应该算是个前瞻性质的大框架介绍。而且我们认为,从华为这次的分享来看,HarmonyOS 3更像是对此前立的一些flag的补充实现与完善,而不是特性、理念上的大跃进。当然这些实现本身也具备了相当的技术难度。HarmonyOS 3 Developer Beta预计将在2022年Q1推向市场。强调的是“超级终端”体验升级。
华为消费者业务软件部总裁龚体总结HarmonyOS的三个特性:(1)不同设备、同一系统;(2)硬件互助、超级终端;(3)一次开发、多端部署。这个表达方式,还是比什么“服务自由流转”“原子化”容易理解很多。
这几点在我们此前介绍HarmonyOS的文章里已经谈得比较多了,这里只简单聊一聊。第一点“不同设备、同一系统”,是指HarmonyOS是面向各类设备的操作系统,比如手机、可穿戴设备、电视、汽车等。“背后核心技术是实现操作系统模块化解耦”。
第二点“硬件互助、超级终端”,也算是老生常谈了。即多个鸿蒙设备可以构成一个“超级终端”,实现设备间的互助,并且每个设备可以发挥自己的优势,在超级终端内部各取所需、各展所长。此前HarmonyOS 2正式发布之际,我们解读过其实现可通过控制中心拖拽操作进行。
第三点“一次开发、多端部署”是特别针对开发者来说的。即开发者写一次代码,就能将应用部署到各种硬件设备上,比如手机、平板、电视、智能手表。
龚体表示,未来HarmonyOS还将继续围绕这三大特性来做创新。对于“不同设备、同一系统”,由“弹性部署自动化工具来轻松实现操作系统的灵活组装”。龚体特别谈到,这套弹性部署工具会进入开源项目,“让更多非华为设备也可以用到弹性部署自动化工具”。这个说法应该是指各类IoT设备,算是构建HarmonyOS生态的又一举措,虽然我们尚不清楚“弹性化部署自动化工具”的实现细节。
而所谓的弹性部署,比如蓝牙耳机中的HarmonyOS是拿出了其中的4个模块,包括轻量级微内核、WiFi模块、媒体播放器、音频模块。
而搭载HarmonyOS的智能座舱就显然差别很大了,它要求“确定时延引擎”“高可靠”“高安全能力”。龚体特别谈到鸿蒙的TEE微内核是首个获得CC EAL 5+认证和车规最高安全等级ISO 26262 ASIL-D认证,“全球最安全的安全内核”。“加上鸿蒙提供的3D图形引擎,这样的组合,很容易部署到智能座舱系统。”
这是一个比较重要的消息,即“很快要推出的的华为智能座舱系统”,据说能带来所谓“升维的体验”。因为传统车机一方面是信息孤岛,互联互通做的很不到位——“一些一两百万的车,很多人还用手机导航”;其次是传统车机生态缺失,应用少、更新不及时。
而HarmonyOS“提供万物互联的数字底座、万物互联的生态”,开发者从移动生态进入智能座舱。这样一个生态也能为开发者带来更大的价值和机会,龚体给的数字是“超过2万亿美金的生态”。
而对于上述第二点“硬件互助、超级终端”。前文已经提到,这可能会是HarmonyOS 3升级的重点。
事实上HarmonyOS 2主要实现的“超级终端”,是两个设备间的组合。“接下来我们还会在异构组网这块支持更多数量的设备,以及更多类型设备的连接。”龚体说,“同时通过协同感知、智能调度这些技术,来实现异构组网更好的性能、稳定性。”虽然上图HarmonyOS 2与3的对比数据还是比较模糊,据说连接稳定性有100%的提升。
在更多设备的连接方面,龚体举了两个例子。比如手机与智慧屏协同,同时还能加上Sound X智能音箱(4个)——这样一来,智慧屏与音箱可组成5.1声道家庭影院。视频源自手机,却因为三种设备的组合而实现影院级的体验。这其中的技术要点包括亚毫秒级全局软时钟同步、分布式拓扑组网、设备相对位置自动感知。这样才能实现设备间播放同步误差、音频响度误差控制在最小的程度。
再比如未来要能实现手机、平板、PC的三屏协同办公(当前实现的是双屏协同),某些特性追加如PC鼠标点到哪个设备上,则键盘输入热点也跟随到哪里,提升办公效率。
对于游戏爱好者而言,HarmonyOS 2已经实现了手机、大屏协同。未来HarmonyOS还将“解决手机GPU能力偏弱的问题”,“我们的工程师提出,用PC独立显卡的算力去渲染游戏画面,提升游戏体验”。
这就涉及到早前华为就提出的“分布式协同计算”能力了,其实现难度就直觉来看会远大于目前华为所说的“分布式文件与数据库”。不知道HarmonyOS 3是否将实现这一点。龚体表示,华为已经在实验室实现了“分布式游戏画面渲染”,“PC秒变手机显卡”,目前尚不知其内部实现原理如何。
另外分布式数据管理很快还能实现跨端数据分享,包括“分布式剪贴板”——类似苹果的跨设备复制粘贴操作。不过苹果的那套方案是基于云实现的,而华为的方案则基于其本地的分布式软总线。
这部分还会增加“超级终端安全可视化”,“让终端安全状态可以显性呈现在开发者和消费者面前”。
对开发者,HarmonyOS 3的升级
认真看文章的同学应该会知道,上面这个段落只说了提升中的前2点,还有“一次开发、多端部署”没说。这其实也是华为在主题演讲中花了较大篇幅去谈的部分,毕竟是“开发者大会”,而不是手机或操作系统发布会。
有关一次开发、多端部署,我们在此前的文章中已经有过比较详细的解读。其本质是HarmonyOS提供一套代码工程,开发跨端应用时,业务逻辑和数据可完全做到100%共享,只需要前端UI适配,就达成一次开发、多端部署的目标。这是个比较理想化的说法。
其实现至少包括了上图中的这些工具,包括设计系统、开发框架、编译器、IDE、SDK等。
其中设计系统(Harmony Design System)强调几个特点,包括“万物归一”(让所有鸿蒙设备有统一的设计语言、架构特征和一致体验);“和谐共生”(不同设备有差异,如人机交互方式差别就很大;但在这些差异存在的同时要做到和谐共生);“衍生万物”(系统要支持衍生发展)。下图展示的就是鸿蒙设计系统的一些构成。龚体着重谈到了其中的人因研究——这一点在此前我们介绍华为手机、EMUI之时就已多少涉及,此处不再赘言。
有关方舟开发框架(ArkUI)3.0,也是全新的发布。“这是业界第一个真正为跨端应用开发,设计的开发框架。”“其显著特征就是支持声明式的开发模式,比传统命令式开发模式,生产效率提升30%以上。”这次“声明式UI框架”似乎是华为宣传的重点,连附赠的包上都印着“声明式UI”。
针对声明式UI框架,龚体还现场举了两个例子,包括图片排列程序相关的代码:“以Android View命令式开发框架开发这样的应用,代码多而复杂;但用声明式方舟开发框架来开发,代码节省50%以上”。而在跨端设备协同方面,如手机、手表协同导航应用开发,示例代码要实现手机和手表数据绑定功能,用声明式开发框架只需要几行代码。
龚体强调ArkUI 3.0的高效率(前端代码量降低30%,主要体现在声明式开发)、高性能(内存降低20%,主要与Android View和Flutter 2.0对比),以及语言生态的成熟性(采用JavaScript,基于JS的三方库成熟度较高、开发者数量多)。
方舟编译器3.0则是实现一次编译、跨端运行的主体。除了此前众所周知的方舟字节码,做到多语言多设备的支持,这其中比较值得一提的是runtime在这次的宣传中“提供多种端侧执行模式”,包括AOT、JIT、解释器——以前似乎在技术介绍上并不是这样。据说是为了满足不同设备和应用特征的组合运行。“不同应用需求不同,不同设备硬件资源也不同。”
IDE部分的DevEco Studio 3.0,着力于提升跨端应用开发效率,“从编码到调试,到测试,都支持跨端开发能力”。开发时就可以建立多端工程,同时支持手机、平板、车机等的跨端部署。
跨端调测部分其实在之前的HarmonyOS 2时期华为也有提过:要直观了解跨设备流转的情况是有难度的。这次应该也有对应的加强。多设备集成测试部分,通常传统模式是先对单设备进行测试,后结合场景对多设备做测试。龚体说,新版IDE一次测试就完成单设备,以及跨端所有的测试。
SDK、API部分:在HarmonyOS 2的基础上,今年还将增加6000+ API,主要聚焦于分布式能力和声明式UI能力。
在实际案例分享中,龚体提到新浪新闻和Wish(菲律宾的一款音乐app)都采用HarmonyOS这套开发生态实现一次开发多端部署,包括手表、手机,实现新闻、音乐无缝的跨设备流转。
上面这张图给出了本次HarmonyOS 3 Developer Beta开发生态工具的一些变化。看起来的确主要是对原有特性的补充实现和强化。事实上我们一直认为,HarmonyOS此前诸多能力的宣传是需要长期投入的。新版本迭代大约也是逐步实现宣传中各项特性的组成部分。
余承东在会上宣布“至今搭载HarmonyOS的设备数量高达1.5亿”,其他数据还包括开发者所推的原子化服务达到16000+;HarmonyOS开发者达到510万+,跨170+国家地区,应用累计分发量3322亿(2021年1月-9月)。单纯看这些数字,应该是能够看出HarmonyOS生态的快速扩张的。
值得一提的是,华为消费者业务首席运营官、华为消费者业务手机产品线总裁何刚在谈生态的安全与隐私问题时提到华为的漏洞奖励计划——这在安全行业叫bug bounty,即让白帽安全专家来发现漏洞。Bug bounty在苹果、谷歌、三星这些成熟企业中开展得都比较早。这次华为宣布准备单漏洞最高奖励150万元,系统漏洞最高800万元,算是相当大手笔的——一般我们说从安全方面的投入,是可以看出一家企业的成熟度的。
最后其实有个one more thing宣布,就是“为HarmonyOS全新研发的编程语言”在规划中。这对华为生态内的开发者而言,应该是个大事。不过龚体在主题演讲中没有再透露更多信息,只有“敬请期待”字样——“我们希望是在明年,或者合适的时间,提供我们为鸿蒙自研的编程语言”。
责编:Luffy Liu