【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?


这是「进击的Coder」的第 165 篇热点新闻
作者:Loco
来源:NightTeam

阅读本文大概需要 8 分钟。


随着鸿蒙的发布,华为又在各个交流平台上引起了一波扯皮,但看起来直到现在仍然有挺多人对鸿蒙的“分布式”了解得并不多啊,扯皮都扯不到点上...

所以...我来分享一下我了解到的东西以及我的理解吧,希望能让大家对鸿蒙的了解更清晰一些,做到既不要因为营销而看不到鸿蒙好的那一面,也不要因为鸿蒙好的那一面而无脑吹鸿蒙或觉得非华为不可、其他厂商和个人都是垃圾,用理性、客观的态度去看待这个(或者说是“这些”?)新生的事物。如果内容中有啥错漏,欢迎友善交流,杠精勿扰。

PS:本来我一直是不想单独发一篇解析文之类的东西来参与这种话题的,容易惹上两边的二极管,搞得一身骚。但是今天在 【HarmonyOS 的原子化理念是不是也导致应用开发的概念也需要做个转变?】(https://www.v2ex.com/t/781535) 这想着写个评论,结果写着写着就几百字了...就干脆加点东西、润色一下单独拿出来发算了。

华为在“分布式”这一块做了什么实事?

首先,华为先制定了一套协议,把各种基础硬件(比如麦克风、音响、屏幕等)、基础软件(比如文件系统、数据库等)、基础功能(比如启动APP、移动鼠标指针位置、点击某个位置等)的操作都给在协议里标准化了。

然后华为基于这个协议做了套设备互联库,会通过各种连接方式尝试寻找其他设备进行连接,并对调用者屏蔽连接细节,只暴露出可以与哪个设备进行什么操作。另外这套库还对一些特殊的操作又包了一层,比如对屏幕的操作可以是显示指定视频流(且可以由其他设备串流)、对音响的操作可以是播放指定音频流(与视频流一样)之类的。最后华为把这套库给塞进了系统层以方便APP调用,把整个这一套称之为“分布式”、“万物互联”。

接着华为又对 APP 的形式做了调整,先是做了个可以让 APP 模块化运行的框架,称之为“原子化”;然后又做了个 UI 库,可以让 APP 在不同显示大小(不能说是屏幕大小)的情况下上自适应显示合适的 UI。这个 UI 库的自适应和一般自适应的直接拉伸还不一样,这个是给显示大小分了级别然后专门做了对应的 UI,并按内容重要度来进行差异化显示,级别内的大小才是直接拉伸。最后华为也同样把这套库给塞进了系统层,把整个这一套称之为“一次开发多端部署”。

这些东西能带来什么好处?

对于 APP 来说,只要基于华为的这些东西做,就可以直接通过调用系统内置标准库的方式来实现各种互联功能,并且可以把 APP 的单个或多个功能拆成一个可以独立运行的模块,可以把每个模块通过各种形式单独使用(比如类似小程序、小卡片一样的各种启动和运行方式),也可以通过协议中定义的基础功能实现所谓的“流转”(也就是把这个模块包到传输另一个设备上运行)。而如果对端设备的性能不足以支持直接运行模块的话,也可以直接串流画面显示,但这对于 APP 和使用者来说是无感知的。

对于硬件厂商来说,能更容易实现互联功能、能参与到一个更容易造噱头的生态里,而且啥设备都能接,小到食指大的小单片机、大到手机/电脑/显示器实际上都可以接入进去,只需要把自己这个设备能实现的功能暴露出来就行了,有标准化的就按标准化的来、没标准化的再自己定义一套通信协议去基于华为的设备互联库通信,成本低收益高。

对于用户(尤其是不懂技术的普通用户)来说,由于华为的影响力会带动相关行业的企业和开发者都参与进去,所以整体软硬件生态肯定是被推着向更加能够互联互通且轻量化的方向发展的,一些技术实力没有那么强的企业和个人也能通过华为降低的门槛参与进去,所以那些以往很难见到、用到的功能和设备,以及各种轻量化的 APP 也自然会更快地变得越来越多。虽然事实上没有华为也会朝这个方向发展,但毕竟华为的影响力摆在那,加速发展是必然的事情,制定规则、引领行业发展这种事情本来是大厂的优势。

所以这些东西到底新鲜吗?

总体来说,其实这就是基于云原生里那些服务化、网格化之类的思路来设计的一整套东西,手机、物联网以及其他相关行业以往有部分类似的东西,但没有华为被逼无奈下做出来的东西这么彻底。所以虽然都不是什么新鲜东西,但华为做这事(单指互联这一块的东西)在技术方面也还是应该夸赞而不是骂的,毕竟这方面华为做的东西确实没毛病,做的事情也确实多,能实现的效果也确实很好,而且最关键的也确实是在利用自己的影响力做对大家都有利的事,不是挺好的吗?

顺便说一下两个不懂技术的人经常有意无意混淆的点

(省得每次有人抬杠都得重新打一遍)

这一整套东西是很大的创新吗?

严格来说并不是,华为只是把以前零散的这些东西整合了起来并且制定成了标准,实际是在利用自己的影响力提高所有人的方便性、统一化市场并且方便自己吹牛逼和赚钱而已。说白了,没有华为做也能实现,只是会因为没一个统一标准的生态导致实现麻烦点、功能零散点而已,区别主要还是在于有生态和无生态,而不是华为有没有做。

所以...

高情商:华为整合了市场

低情商:缝合怪

【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?(狗头保命)

没有华为的这些东西,就不能实现那些互联功能吗?性能真的会有明显差异吗?

同样也并不是,互联功能本身只要有能让设备之间进行通信的手段就能做,而华为做的事情只是把复杂的事情简单化,让更多没有精力或能力开发相关功能的人和企业能做出这些功能而已。而性能的话,一个能直接在底层进行操作的库当然能比一般的个人开发者在应用层弄一套的强,但跟同样能魔改系统且有能力把自己魔改的系统拿给别人用的厂商们而言,其实差别并不会有多大。

顺带一提,个人开发者实现的类似功能的魔改也基本不用想着普及给其他人用,没有 Root 权限、没有 Magisk/Xposed 之类的框架,很难拿到那么高的权限,所以市面上基本就是见不到的,这很正常。

所以,不要以为只有华为才能搞,也不要想当然地以为华为的这套性能就一定比别人好,这种想法要不得...

另外,实际上其他手机厂商在当下即使不用鸿蒙也没关系,它们可以只把设备互联的那一套库给塞进自己魔改的系统里,也可以同样接入同一套生态,就看它们愿不愿意了。这种做法肯定要比直接使用一个所谓“兼容 Android”的东西要更稳妥(毕竟普通用户分不清啥是啥,容易产生不必要的误会),而为了保证产品的竞争力,接入生态或者自己做一套同样的东西基本是必然的事情,在接入生态更省事的情况下其他厂商大概率会更优先选择这种方式。

华为真正该被骂的点是什么?

是各种营销手段、是套高大上的名词、是在手机版鸿蒙方面的吹嘘、是做 to C 产品时那种高傲的“我为你好”的设计思路、是 996、是变相逼迫年龄稍大的员工离职...等等等等,这些与技术无关但非常令人反感的管理人员、运营人员搞出来的事情才是真正该被骂的。

为华为工作的技术人员又没有做错什么,人家做出来的东西也确实没毛病,为什么要连带着技术人员做的东西一起骂呢?更何况还是在自己还不了解实际内容的情况下。

总结

还是那句话:既不要因为营销而看不到鸿蒙好的那一面,也不要因为鸿蒙好的那一面而无脑吹鸿蒙或觉得非华为不可,理性、客观地看待新生事物。什么该骂、什么该夸要分清,作为消费者却去跟饭圈一样把厂商当偶像,又或者虽然不了解但抓到点东西就要拿出来骂,好好的一个人变得跟个二极管一样多没意思?

【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?

End

「进击的Coder」专属学习群已正式成立,搜索「CQCcqc4」添加崔庆才的个人微信或者扫描下方二维码拉您入群交流学习。


【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?

看完记得关注@进击的Coder
及时收看更多好文
↓↓↓


好文和朋友一起看~


原文始发于微信公众号(进击的Coder):【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?
这是「进击的Coder」的第 165 篇热点新闻 作者:Loco 来源:NightTeam “ 阅读本文大概需要 8 分钟。 ” 随着鸿蒙的发布,华为又在各个交流平台……
<<上一篇
下一篇>>