我是卓言,我们一起终身学习,第64天。
其实鸿蒙有两个:手机鸿蒙和物联网鸿蒙。今天我们重点谈物联网鸿蒙。
之前我们聊到鸿蒙被很多程序员说成是安卓套了一个壳,其实这指的是手机鸿蒙操作系统;而号称一行安卓源代码都没有使用的鸿蒙系统其实是另外一个,那是一个准备给物联网系统使用的操作系统。
那么,物联网的操作系统又是个什么东西呢?物品互联难道还能通过一个软件把带各种功能的物品操作起来吗?
操作系统的三代进化
在PC时代,Windows靠图形界面让大家用鼠标去翻找,这个动作替代了更早一代让大家记一堆命令和参数的模式。
在智能手机时代,苹果靠App让大家用手指头点击,替代了更早一代直接把PC的操作逻辑搬到手机上的模式。
而在物联网时代,操作系统靠什么统一那么多东西的互联呢?
因为今天离万物互联还早,所以具体未来是用什么方法实现物联网的操作,谁都说不准。我们只知道,华为的鸿蒙系统采用的“碰”和“划”,碰是为可以互相接触的物体准备的基本操作动作,划是为不能相互接触、只能采用无线方式连接的物体准备的基本操作。我们举几个例子:
比如说华为的智慧屏,虽然几乎所有的智能手机都有投屏功能,但很多即便以我这样对手机的菜单、设计界面还算有些了解的人,也要找上至少2分钟,才能真的把投屏点出来。而华为智能屏只需要用手机碰一下电视,或者碰一下电视的遥控器,手机屏幕的内容就会自动的投到大屏幕上,完全不懂手机的老年人也只需要1秒时间。
降噪耳机和音箱,可以用手机碰也可以划,也可以用手指划,碰一下就配对了,划一下就可以看到所有和手机相连的物件,点击每一个就可以进行具体的设置。除此之外,我们还可以用手机碰很多,比如洗衣机、空调的定时启动的功能,智能汽车设置各种参数,各种烹调设备,都是用手机碰一下,然后手机屏幕就马上弹出了这款家用电器的设置菜单。
仅仅碰一下,就能启动对智能设备的操作,这一点大大降低了使用门槛。而从历史上看,这正是各种操作系统在竞争中胜出的一个关键因素。
物联网或者智能家居产品,经常被抱怨的痛点就是伪智能。号称可以用手机控制,等你真的去试的时候发现,先要下载一个物品的App,然后用手机和设备相连,这就是一顿操作。你也许对手机设置比较熟悉,但对那个物品如何设置新链接摸不着头脑,好不容易连上了,发现还得注册用户。于是乎,很多人都在抱怨,我的天,我就洗个衣服,那些按钮我直接拧一拧、按两下,10秒钟就开始洗了。用你号称的智能,10分钟了我还没连接上设备呢,这就是物联网初期最常见的抱怨。
如果一个简单的物联网设备,只要碰一下,甚至连App都不用下,就能直接弹出最终的操作界面。甚至还可以更进一步,碰一下后自动执行烧烤程序,类似的还有,早上出门上班,手机碰一下车以后,拉开车门,车就自己往公司开了。这就方便多了,也就真的实现了智能。
华为的战略
前面说了,鸿蒙有两个:
一个是我们在今天讲的给万物互联准备的,最早是用在华为智慧屏和智能手表里用到的鸿蒙。这个鸿蒙的准确名字是OpenHarmony,使用LiteOS内核,每一行代码确实都是华为工程师自己写出来的。
另外一个就是最近华为手机更新系统时新出现的HarmonyOS,这个鸿蒙当前就是在安卓开源项目(AOSP)的基础上自己开发了一套用户界面,内核是Linux。
它们中文名一样,英文名略有区别,但代码从底层到体量都有着巨大的区别。如果这个区分不开的话,就很容易闹误会。
但是,为什么华为要把两个鸿蒙混在一起说呢?
因为在华为的计划中,希望把物联网中的鸿蒙系统不断扩充功能,最终依然基于Linux内核重新打造一款操作系统。这个操作系统会去掉今天安卓操作系统的中间层,也就是Dalvik虚拟机和Java核心库,而这两部分其实是谷歌开发安卓最核心的实力体现。
为了让你听明白,我们拿出安卓操作系统结构图。华为要原创一个操作系统,核心动作就是把图中粉色部分,也就是刚才说的Dalvik虚拟机和Java核心库取代掉,用一个更加便捷的开发语言来替代,然后实现一个更加具有统一性的开发环境。
比如,今天一个App,开发手机版的是一份工作量,电脑的网页上也要有一版,它们2个版本其实是不同的。但鸿蒙操作系统的远期目标是,让开发者在最初开发的时候,只要勾选一下“今后打算在哪些设备上执行这个App”,只要勾选了,之后编程的框架就在那个已经为你适配好的模型里设计,今后设计出来的那款App,就可以自动适配之前勾选过的所有设备了。
而要实现这一点,不是设备之间能连接就可以的,而是要连得快、连得稳。比如玩游戏,手指头的动作和屏幕上出现的动作变化,要求20ms以内的延迟,再高就打不过别人直接用手机操作的水平了。而让连接连得快、连得稳,谁能做得好呢?一定是通讯技术强的公司,华为的通讯技术那没的说。于是,这方面华为是有天然优势的。
而且,要打造一个能让不同协议的设备互联的系统,就不仅仅是在单机上优化用户界面能做到的了,而是需要对操作系统做大幅度的添砖加瓦,甚至还要拆改一部分操作系统驱动的内容才能实现。实现连得快,还要连得稳,就得在操作系统层面动刀子,华为鸿蒙是要重新一行行写代码的。
实现的可能性大吗?
从技术上说,起码华为已经是中国最强的公司了,比如在智能手表使用的操作系统这个并不为人熟悉的领域中,华为的市场占有率就是领先的,排名第一的是苹果的WatchOS,占比46%,占比排名并列第二的,就是华为的LiteOS和三星的TizenOS。
但是,我们依然不能低估开发一款世界主流操作系统的难度,那不单单是要有广泛认同的芯片、开发框架、编译器、编程语言、数据库,还必须形成一个用户、软件开发者和手机厂商都能从中赚钱的利益格局。相比技术要素来说,形成利益互惠格局的难度其实更大。
比如,安卓系统为什么可以胜出?为什么不是安卓系统依赖的那个内核Linux成为今天手机的操作系统呢?就是因为谷歌把全套Linux中,文件系统、内存管理、任务调度、电源管理、framebuffer显示架构、摄像头架构、网络架构、音频架构全都抠了出来,并且设计了dalvik这样的虚拟机作为中间层,然后借助java语言的便利性降低了开发门槛,吸引了众多开发者加入这个生态。
这个世界之所以出现了如此巨大的生命力,第一推动力是谷歌把如此复杂的体系,以安卓开源项目(AOSP)的形式,把源代码全都公布了出来。这个体量的工作,按从前那些大企业的行事作风来说,是绝不可能免费公布的。但谷歌不但公开了,而且还没有浪费弹药,通过上帝视角的设计,还真设计出了适合后来开发者的生态,并且还能让自己获益,于是加在一起,安卓系统才成功了。虽然它用的是Linux内核,但我们就不能说安卓系统是Linux套了一个壳了。
华为鸿蒙在技术上可不可以在几年后发展成一个基本合格的操作系统,这一点应该是没问题的。但更关键的问题在于,全球各地的程序员们能在这个生态圈里持续收获财富吗?这不单需要技术,还需要公正的法律、包容的文化、健康的金融系统,来保证全球各地的开发者有信心“移民”到这个生态圈里。
参考资源:得到课程·卓克《科技参考》