Android 11已在 9 月 9 日发布,据华为官方消息,9月10日开始的 HDC 2020 大会上,也会发布 EMUI 11 和鸿蒙 2.0。在三者被拿来做比较之前,先来看看他们之间的关系。
EMUI 是华为基于 Android 开源版本发布的 UI 系统,并被视作是鸿蒙前期阶段的系统之一。鸿蒙 OS 去年发布 1.0 版本时,EMUI 10 也同时发布。发布会上,华为表示,二者的定位是一致的。
华为消费者业务软件部总裁王成录:
内部 EMUI 和鸿蒙是两个不同的团队,但作为同属华为开发的操作系统共享了部分技术特性与资源。EMUI 本身就是面向未来全场景,这个正好跟鸿蒙定位一致。
作为鸿蒙前期阶段的系统之一,EMUI10 在功能上和鸿蒙有着不少相似的地方,比如两者都拥有分布式设计,为华为在日后的「1+8+N」全场景智慧家居打下了软件基础。
EMUI 用到鸿蒙最核心的部分就是分布式技术,包括分布式文件、分布式数据库、分布式的调度这些都是整个技术的一部分。
知乎作者沈世钧去年曾发帖解释 EMUI 和鸿蒙的关系,其中也涉及到二者和 Android 的关系,以下是部分原文。
下面是由谷歌开发,并开源的原生安卓架构图(示意):
从图中可以看出,原生的安卓由内核、子系统、UI 构成。
而一个安卓 APP 的运行环境,并不强依赖 UI,而仅依赖于安卓子系统和内核。
同时,因为原生安卓系统是开源的,所以在开源代码的基础上,其他厂家就有机会定制自己的 UI,从而推出个性化的安卓系统。
例如,下图就是被替换(修改)了 UI 的 EMUI 架构图(示意):
从图中可以看出,所谓的 EMUI 仅仅是替换(修改)了原生安卓系统的 UI 而已,原生的内核及各个子系统都得到了保留。
而第三方开发的应用程序(例如微信),由于仅依赖于原生安卓的内核和子系统,所以才可以在各个 XXUI(例如 EMUI、MUI)上平滑迁移。
再来说华为的鸿蒙系统。
首先和安卓一样,整个鸿蒙 OS 也是由内核、子系统和 UI 构成,如下:
但由于鸿蒙是一个全新的的系统,所以鸿蒙 OS 的内核和子系统并不兼容安卓。原来安卓上的 APP 也不能在鸿蒙上直接运行。
而鸿蒙 OS 的期望受众主要是一些资源有限的设备,例如手表、电视、车载设备等。
但是,目前的安卓已经有针对此类设备的版本,且已经存在了大量的应用。所以说,在很大程度上,鸿蒙 OS 和安卓存在竞争关系。
而一个系统能否兴起,关键在于是否能吸引足够多的开发者,从而形成生态圈。
但是,在生态圈没有形成之前,鸿蒙就面临如何吸引开发者,把原来安卓上的 APP 迁移到鸿蒙上的问题。如果这个问解决不好,就意味着鸿蒙的生态圈难以形成。
如果是这样的话,不管鸿蒙 OS 的技术指标是多么优秀,可能都无法取得市场的认可,很有可能重蹈当年微软 windows phone 的覆辙。
对此,华为的应对方案是提供一个编译器,把安卓上的APP源码编译成能在鸿蒙上运行的 APP,如下:
这样,就把原来安卓上的大量 APP,以最低的代价迁移到鸿蒙上来,从而快速的形成应用群。