• 媒体品牌
    爱范儿
    关注明日产品的数字潮牌
    APPSO
    先进工具,先知先行,AIGC 的灵感指南
    董车会
    造车新时代,明日出行家
    玩物志
    探索城市新生活方式,做你的明日生活指南
  • 知晓云
  • 制糖工厂
    扫描小程序码,了解更多

对话华为王成录:鸿蒙和 EMUI 是怎样的关系?

公司

2019-08-11 20:00

在今年的华为开发者大会(HDC 2019)上,华为正式发布了鸿蒙 OS 和 EMUI10。

作为华为智能终端的「灵魂」,采用分布式设计的鸿蒙和 EMUI10 都是华为今后在智能生态领域中探索的重要一环。

在这次开发者大会结束后,我们与华为消费者业务软件部总裁王成录进行了一次答疑对话,关于鸿蒙和 EMUI 的细节,王成录给我们进行了更深入的解读。

鸿蒙 OS 和 EMUI 的关系是什么

其实这个问题除了是问鸿蒙和 EMUI 的关系,还有关于目前鸿蒙在当下和未来的发展核心。作为一个面向多终端设计的操作系统,鸿蒙在未来会怎样发展?有哪些地方是现阶段的 EMUI 能参考的地方?

内部 EMUI 和鸿蒙是两个不同的团队,但作为同属华为开发的操作系统共享了部分技术特性与资源。EMUI 本身就是面向未来全场景,这个正好跟鸿蒙定位一致。

鸿蒙的特点如果用一句话记它就是「全新的基于微内核的面向全场景的分布式操作系统。」

其核心特点实际上有三个:

第一,这套系统怎么适应不同的硬件,实际上这套系统从一开始就是全面解耦,把每一层内部都解耦,大概有几千个模块,解开挑战非常大,解完了怎么保证这个接口在发展中不变?我们把接口全部用头文件写好,用工具看护。

有了基础之后,设计之初每一个模块打个标签,比如这个模块可以扩大是内存的设备,这个模块是有多少存储空间的设备。

有了新理念以后,只要硬件落在某一个范围内,范围包括处理器能力、空间大小、显示规格、麦克风怎么配,系统根据这个范围的标签自动推送相应的操作系统,这是一个非常重要的创新。

我们打一个不恰当比方,大家可以更好的理解。

鸿蒙系统的第一个特征,他就像我们的活字印刷术,一个模块就相当于烧好一个个字,当写某一本书的时候,就把这些字重新组合起来,就是这个设备的操作系统。

第二,非常有创新性的打破终端硬件的边界。比如手机有显示器、处理器芯片、内存等等,它实际上是通过手机上的 PCD 板把他连接在一起的,构成了一个手机。

鸿蒙就是把硬件的 PCD 变一个软 PCD,每一个硬件组成部分,都把的它抽象一个驱动,这样在一个消费者账号下面多设备的时候,他们就如同抽象出来的一个各种器件的大池子,这个池子里根据应用的不同场景,选择做组合,就像演示的无人机。

实际上对端演示的无人机,其实是用分布式系统新定义一个新手机,这个手机摄像头就是无人机的摄像头,他被拉远到空中,这是系统的第二个特征。这个是非常具有创新价值,它核心如果能达到或者接近硬件 PCD 组建能力想象空间太大了,会非常巨大。

比如说运动手表,无法打电话,在华为这套系统下面用可以用它来打电话,这种场景它和手机组合成一个新的可以打电话的手机,只是说这个时候这个手表变成了手机麦克风。

第三,我们有了这样能力以后。我们的硬件形态越来越多。我们要解决应用不断适配问题,目前我们无法把一个应用快速做成适配手机版、PC 版,PAD 版。我们希望通过 UI 控件的抽象和解耦,包括业务逻辑原子化可以快速实现一次开发多端部署。

以上是鸿蒙三个可行的特征,这也是 EMUI10 可以参考的。

鸿蒙将会有哪些技术会用在 EMUI 上

作为鸿蒙前期阶段的系统之一,EMUI10 在功能上和鸿蒙有着不少相似的地方,比如两者都拥有分布式设计,为华为在日后的「1+8+N」全场景智慧家居打下了软件基础。

王成录表示,鸿蒙与 EMUI10 相似的地方,主要就是分布式技术。因为所有移动产业里面,无论 iOS 还是 Android,到目前为止仍然只适合在手机,即使是苹果也无法将 iOS 同时跑到 PC 和手机上。

EMUI 用到鸿蒙最核心的部分就是分布式技术,包括分布式文件、分布式数据库、分布式的调度这些都是整个技术的一部分。

应用鸿蒙的前置条件是什么

在开发者大会上,余承东多次提到了鸿蒙是一款面向未来的系统,那么余承东所说的「未来」除了意味着鸿蒙需要 5G 网络支持外,是否也需要多终端的支持,才能发挥出鸿蒙的最大作用?

王成录向我们解释:

如何解决移动的硬件越来越多的现实状况,如果只是音箱,大家用它没有太大意义,小孩玩两天没有人用。手表只做记步的东西或者看时间,其他做不了。未来能否把硬件资源不断叠加复用。

对于一个消费者来讲,等于我买了一个音箱可能意味着我的麦克风资源多了一个,当我买了一个电视来,就意味着我们的显示资源多了一个。

这些所有的东西都在一个用户 ID 下面,完全可以根据不同的场景,随便组合,你就可以用系统定义一个新的硬件,就像今天我们的演示中,相当于定义一个新手机,这个手机是用飞在天上的摄像头(指无人机)。

对于鸿蒙定义出新硬件的说法,现场有记者提问:鸿蒙在日后是否会有一个单独的操控面板,来重新定义未来硬件?

王成录补充解释,鸿蒙不需要单独的操控面板,我们把单个的硬件把它转化成一个个驱动文件,就好比 Windows 下面的打印机,不管你是哪个品牌的打印机,你只要按照微软发布打印机驱动开发指导去做你的驱动就可以了。

生产出来打印机你满足了这个驱动,就可以即插即用,这个道理是一样的,比如说我把这个手机屏抽象成一个软件的驱动,这个驱动软件对整个鸿蒙内核部分,他的接口是相对稳定而且不变。

如何把「1+8+N」融入到华为的超级终端池里

「1+8+N」这个概念指的是 1 台华为手机、8 个智能可穿戴、家居设备、N 个第三方合作商组成的超级终端池。

在这个超级终端池中,这些设备将使用同一个系统,用户只需要使用一个 ID 或一张人脸就能在这些设备中共享内容。那么,华为会通过哪些方法,与「N」家第三方合作方完成超级终端池的构建?

王成录表示,华为会先把这个能力先在企业内部用起来,随后开放给第三方,华为会提供开发指导,提供架构指导,设计说明,第三方只要按照这个去做就可以了,开发内容都会开放。

如何考量分布式设计的安全

王成录:我每次思考安全的问题都特别头疼,很累,非常非常累,非常烧脑。但是我们跳出来,安全实际上就一句话,一定是正确的人,我用正品的设备,去操作我应该操作的信息,一句话总结就是这样的。

为什么手机每次要用的时候要解锁呢?它要保证操作这个手机的人,是这个手机的主人,否则就不需要解锁了。是不是?包括应用本身,要输入密码,都是为了这个目的。

它要保证操作的这个人,就是手机的主人。所以这件事情在分布式以后变得既复杂,又有巨大的机会,巨大的机会是什么意思呢?

比如说我现在这个手机,我只能用指纹解锁,或者是脸部 Face ID 解锁,或者是我输入密码把它解锁,分布式来了以后,你们想一想,我就完全可以用手表上的心脏传感器同时来解锁,当我来解锁的时候,这个心脏传感器同时在做校验。我们既方便,又大大提高了安全性。

就像我举的那个例子,我们用银行的转账,我们要用 Token 来做额外的加锁,用手机的短消息,来输入验证码,实际上它都是为了保证这种安全级别高的应用,一定不能仅仅就解锁就能用了,这是不可以的。

机会就在于,我们分布式了以后,我们再也不需要仅仅用一个能力,去应对那么多的应用了,我们就希望用这种分布式的能力,一次的把尽可能多的生物特征信息,针对不同应用级别,用哪些来做。比如解锁,可能不需要密码,一握就可以了。

因为这个握力传感器,它对我这个人的握力的特征是清楚的,所以我们可能在很短的未来,我拿起手机来就解开了,就不再需要输入密码,因为确实还是很麻烦的。

所以它既能够适配不同的应用级别,有不同的认证要求,又方便不需要额外增加新的设备,这是机会。挑战就在于,当你所有的ID下面,这么多设备,大大小小都在的时候,小设备最容易成为攻击点的,我们怎么办呢?

在这个设备,在第一次配置进我 ID 的时候,要经过非常严格的认证,要认证它是正品厂家生产的设备,我要通过我的这个设备的密码,产生密钥来去确认,去设定你的密码。同时要告诉你,你这个设备只有授权的那一两台可以控制你,别人发出指令你不要接收。

所以我就会通过我这个主设备,去决定哪几个设备能控制我这个小设备,所以这样的话就相当于,这个小设备,它只接受有控制权的设备对它的控制。这里面实际上也是密钥。只有匹配这个密钥的小设备才会对它反馈,否则它不反馈,所以这就堵住了小设备容易被攻击的问题。

第三个就是,你看原来我们从应用之间调信息,在同一个设备之间操作,是在设备内部流转的,我们现在变成设备与设备之间了,那就必须保证这个信息不论从这个设备跑到那个设备,必须保证存储的时候它是加密的以及通道之间是加密的,当你有东西运输、存储的时候,根据信息不同来定义加密的级别。

你即便把信息拿到了,这个柜子你也很难打开,或者打开的时候可能你拿到也是不全的信息,所以这里面把人的运动健康相关的信息切成很多片,存在很多地方,我用的时候从不同仓库把它拿过来运走,所以你即使拿了这些信息也是不全的,是没有价值的。

这实际上借助了很多无线通讯里面的技术。比如说像无线信道,加随机码,你即使获取一包,下一包你根本不知道走哪一个信道。

鸿蒙系统与苹果系统的区别以及推进过程

在鸿蒙系统的演示中,我们能看到当下的苹果跨平台交互和鸿蒙都有相似之处,那么苹果系统和鸿蒙有哪些本质上的区别,另外鸿蒙距离成熟还有多长时间?

王成录解释:我觉得华为相比苹果也好,相比 Google 也好,我们有两个巨大的优势。

第一个,我们没历史包袱。因为苹果和 Googl 一旦要发生大的变化。这就是 Google Fuchsia 做了那么多年他不敢上,因为他没法上,他上了之后安卓的生态怎么办?这些生态全要跟着改,那他代价太大了,实际上 Google 一直在寻找,怎么样平滑的把 Fuchsia 引入进来这样一条路,它一直到现在都没有找到。

在 Android 上,构建这么大生态的情况下,如果没有一个好的方案,能够最小代价的迁移,我觉得它成功不了,会很困难。苹果是同样的问题,你看苹果为什么 iOS13 又专门发布了 iPadOS,那就是它不得已而为之,它没办法,因为它要用好的这个比,它现在系统解决不了,它只能为这个再定制一个 iPadOS,肆意它这个历史包袱它很难搞。

对于华为来讲,我起步,我从零开始,我就是彻底分布式的,彻底用驱动的方式让生态非常容易接进来,我们比它有非常大的优势。

第二个,我们在刚才说的三个鸿蒙的特征,头两个,我认为是遥遥领先苹果和 Google的,我们这种自动化的部署,还有我们把设备用驱动的方式外设,包括我们的分布式软总线,我觉得都是非常开创性的东西,他们是没有的。

对于鸿蒙设备的推进时间,王成录补充,鸿蒙的微内核放到全系统,我们预计两年左右的时间。争取两年左右的时间,不仅仅在 TE 的环境,都把它用鸿蒙微内核来进行替换。

分布式技术会对今后的 AI 生态带来哪些影响

今天给大家演示的这些 Demo,包括我们视频拍的内容,实际上只是给第三方做了一个Showcase,我们希望第三方基于这样的能力去创新。我打个比较抽象的比方,有点像我们 CPU 由单核到多核的转变。

单核的 CPU 的时候,编程者你不需要考虑资源的调用,你写驱动就完了。但是当我们把单核的 CPU 变成 ARM 的多核,当时因为底层没有这个调动能力,编程者就要考虑到底绑在哪个逻辑核上,这是非常土的办法。

当随着技术的进步以后,操作系统的底层,慢慢把异构多核全解决了,我们上层应用不需要考虑这个问题了。所以咱们分布式就是这样一个能力。

假如说我把一个硬件,比喻成一个一个逻辑盒,原来的应用,进程要跟逻辑盒绑死的,它只能跑在这,不能跑在其他地方。

那么我们用分布式以后,这个逻辑盒之间,所有的差异就由咱们分布式这套系统来把它屏蔽掉,对上层应用开发者来讲,你仍然按照原来的程序,开发模式来开发,开发语言来开发,没问题。

对于应用来讲,它看不见底下是不同硬件组成的一个新的设备,它跑就行了,反正它能够尽最大能力发挥出来,所以这个里面场景会特别多。

我们可能有很多设备,你写了很多文件,都不知道在哪个设备写的。我要找到它,我在想,我这个设备是在哪个上去弄的。我记得那次我跟毛总我们去美国出差,我就在一个手机上,记了一个便签,我在另外一个手机找的时候,我记得写了,怎么找不到了。后来是谁提醒我说你是不是在那个手机上,结果在那个手机上直接打开就对了。

我们有了这样一个分布式能力以后,你对任何一个设备,你 ID 下面的设备,只要是分布式系统跑起来的,你对任何一个设备都可以说,找我哪篇文档,它就找到了,背后它到哪去找,你不用管,不需要人再去翻一个一个的设备,所以这是分布式最大的价值。你看我们今天大额转账的体验,一会儿用手机搞一个验证码输进去,一会儿再来一个输入进去,用这种方式来做体验是很差的。

我们有了分布式能力以后,消费者只需要关注一台设备,就能把任务完成。因为这个完成的过程中,需要什么能力,完全是由这个系统调度的。

就像我刚才打的那个比方,他调的是哪个逻辑盒,开发程序的人不用去管它,它自动调度就可以了。

比如说像找这个资料,就是非常棒的东西。再比方说我们查照片,我们照片越来越多,这是非常大的问题,可能我们将来在 PAD 上随意调我的照片,我想查哪个时代什么照片,它就找到了。这个时候 PAD 有可能是从云上把它拿下来,也可能是从手机把它拿下来,都没问题,这些东西都不需要人去配置了。

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中