按照原来的想法,本篇文章开始分析一下鸿蒙2.0的内核源代码,但上篇文章发表后,有一个从事IT行业的朋友问我:“垃圾的东西,研究来干嘛”(原话)。

看衰鸿蒙OS的人不在少数,尤其是IT从业人员,因为他们深知研发一个操作系统的难度有多大。特别是鸿蒙OS公开源代码后,有人更找到一些抄袭、套壳的“实锤”证据,例如:

  • 开发环境和安卓的开发环境相似度极高,编译工程过程中需要下载安卓的开发包
  • 运行鸿蒙APP时,有一些安卓运行时的痕迹,例如抛出异常时的栈跟踪信息

针对以上看法,我想基于第一篇文章的内容,围绕鸿蒙OS的研发目的和研发路径,作一些补充。

研发目的

在当前国际大环境下,华为受到“制裁”不能继续使用安卓的授权,鸿蒙OS正是在这样的背景下应运而生。鸿蒙OS或许有很宏大的蓝图,但就目前而言,它主要解决的是华为受“制裁”原因而造成手机终端业务彻底停摆的问题,生存是华为作为一家商业公司首要考虑的问题。

Image

NO STOP, NO PAUSE

基于这样的背景下,从零开发完全是一个伪命题,不现实也没有必要。只要没有违反“制裁”的内容,参考、借鉴成熟的设计,甚至直接使用没有版权问题代码和组件,都是非常务实的做法。

讽刺鸿蒙OS抄袭、套壳的观点,犹如看到一个被推进水里的人在拼命挣扎,你却嘲笑他,泳姿怎么这么难看。

鸿蒙OS只是一个比较纯粹出于商业目的一个产物(从目前的信息来看,我比较肯定鸿蒙OS是华为受“制裁”后才被提到议事日程上),但客观上,它也是大时代背景下的政治产物,这方面,我们需要警惕,也需要辩证地看待。

一方面,科学技术不应该有国族之分,渲染这种思想,容易引发一些人对鸿蒙的非理性期待,例如,期望鸿蒙是100%的国产化。但另一方面,对于鸿蒙这种体量的系统,在精神世界上树立一些愿景,对激励相关研发人员、推动研发过程,会起到一定积极作用,我认为也未尝不可。

开发路径

目前鸿蒙OS目前最为人诟病的是所谓套壳问题,具体来说就是鸿蒙依然运行在安卓之上,我认为,这是一个“开发路径”的问题。

鸿蒙OS最大的挑战是和时间在竞赛,这个时间不单单是指用户什么时候能用上,还包括什么时候能让开发者用上(这个时间要先于前者)。如何尽快让开发者能够并愿意基于鸿蒙开发是一个关键的问题,针对这个问题,假如让我来规划鸿蒙的开发路径,我会分两个阶段:

  • 第一阶段:Development Ready。首先把鸿蒙的API设计好,提供足够丰富的API给开发者,以支撑他们开发或者移植现有的APP,然后实现一个安卓的Wrapper,以使这些APP能真正地运行起来,虽然是安卓的系统之上。
  • 第二阶段:Production Ready。把鸿蒙底层的所有功能都实现好,然后让基于鸿蒙开发的APP完完全全地运行在鸿蒙OS之上。

Image

开发路径

鸿蒙OS 2.0,在我看来,它最多只是一个Development Ready的版本,它并没有解决“制裁”的问题,所以这个版本还不能投放到市场。但它提供了足够的API、能构建应用的开发环境,就已经达到它的目的。而这个阶段的API,最简单而务实的做法是提供一个与安卓能一一对应的集合,如果我们看到鸿蒙OS的API“很像”安卓,我一点都不感到意外。

Image

另外,第一阶段的产物“安卓Wrapper”在鸿蒙OS成熟之后还是有价值的,因为它能让使用基于鸿蒙框架开发的APP,可以用最低的成本(使用方舟编译器重新编译)移植到安卓上,这样就可以极大地保护开发者的研发投入,随之也提高了他们使用鸿蒙开发的意愿。

关于“研发路径”的问题,我再补充一点,就是去年1.0发布会上,华为除了鸿蒙OS,还发布了首款智慧屏,号称是第一款搭载鸿蒙OS的产品。

Image

在华为的1+8+N的体系里,智慧屏的人机交互相对简单(通过遥控器),但应用的形态却是最接近手机的一个产品,因此,智慧屏作为鸿蒙OS的试炼场是再合适不过,真正意义上的鸿蒙OS,很可能首先在智慧屏上得以实现。

Image

让子弹再飞一会

其实,我们现在没有必要太早下结论,鸿蒙OS到底靠不靠谱,对于外部人士来说,我们得到的信息还是太少。但我个人来说,对鸿蒙OS还是抱谨慎乐观的态度:

  • 华为在世界范围内取得的成绩,是有硬实力支撑,华为是一家有底蕴的公司这是不容置疑的。
  • 华为当着全国人民、全世界夸下的海口,不把鸿蒙做出来,或者最终只是做出一个套壳出来,作为华为人有何颜面?
  • 鲁迅说:相信相信的力量,因为相信,所以看见。

Image

下一篇,让我们看看鸿蒙OS的代码究竟长什么样。

系列回顾