2020 (80)
2021 (49)
2022 (69)
鸿蒙已死,哄蒙万岁
一年前,华为刚揭示鸿蒙时,我的博文“杀器还是噱头?详解华为的操作系统”做了预测。当时华为公布的鸿蒙的信息还很有限。博文说:“华为的手机操作系统备胎,新东西少,只是集成了华为对安卓的一些优化。最后结果就是自己玩,难逃塞班和Palm OS的命运,噱头而已。华为公司工程能力强,但不是一个技术创新的公司。”有小粉红留言:“你说得也许对,但我愿意做小白鼠,华为这个系统出来了我肯定买,让华为有机会改进提高,最后做到最好。”我回复:“希望你长寿,能等到鸿蒙出来的那一天。”
一年以后,转身回看:我的预言基本都说中了。
当时华为消费者业务总裁余承东说最快今年秋天,最晚明年(2020年)春天,华为自己的手机操作系统将可能面市。2019年7月3日任正非接受法国《Le Point》杂志专访时表示,鸿蒙操作系统主要应用于物联网,并不是用在手机中,做这个系统的时候并不是想替代谷歌的。 2019年8月9日,余承东在华为开发者大会上正式发布手机操作系统鸿蒙,但只有PPT,未有展示。说该系统虽然主要面向IoT设备,但也可支持手机。如果谷歌安卓系统不向华为开放,将“可以随时启用鸿蒙”。10月23日,华为轮值董事长徐直军在华为媒体沟通会上称,鸿蒙本来是用于华为内部一个内核的名字,后来被媒体误传为华为的操作系统。2020年4月22日,任正非表示:华为的操作系统要想超越安卓和苹果的操作系统,可能需要很长时间,但不会超过 300 年。
华为的立场不断后退。先宣称鸿蒙是今后华为手机的操作系统。然后改口说鸿蒙是针对物联网开发的。只会在安卓不能用时才会启用。而谷歌从来没有对华为关闭安卓。安卓是开源的,谷歌不能也不会阻挡任何公司用安卓。谷歌限制华为使用的只是谷歌的应用程序-GMS。而鸿蒙是操作系统,和GMS是两回事。所以不存在安卓不对华为手机开放的情况,这样鸿蒙永远只能当备胎。备胎是打造不出生态系统的。没有生态系统的操作系统只能闭起门来自己玩。任正非说要300年才能超越安卓和苹果,那时华为在不在都是问题,实际上是承认这是一个不可能完成的任务。徐直军干脆否认鸿蒙是一个操作系统,这都是为以前的牛皮找台阶下。
华为的宣布互相矛盾。说明华为的鸿蒙战略比较混乱,只是一个概念,覆盖的领域不清晰。为了宣传,仓促上马,问题很大,很可能已经流产。按英国传统,当老国王死掉,新国王即位。使者各地宣示“The King is dead, Long live the King”。(老)国王已死,(新)国王万岁。徐直军和任正非实际上宣示:鸿蒙已死,哄蒙万岁。
审视华为揭示的鸿蒙构想,新意不多。简而言之是两个拼盘,一个替换。拼盘是安卓架构和LiteOS的拼盘。LiteOS是华为的轻量级物联网操作系统,面向智能家居、车联网等领域,集成LiteOS和安卓是为了面向手机和物联网。一个替换是用方舟编译器取代JAVA虚拟机,用静态编译取代动态解释,以适应各种硬件平台。华为的鸿蒙在构想上抄袭谷歌的Fuchsia。Fuchsia是谷歌的下一代操作系统,采用微内核架构,用于嵌入式系统。Fuchsia的设计目标之一是可运行在众多的设备上。Fuchsia的部分代码已经放在Github上。
安卓系统使用JAVA为编程语言。为了跨硬件操作,使用了虚拟机,将各种硬件抽象成Java的运行环境。JAVA运行在虚拟机上,虚拟机负责连接具体硬件。因此安卓可以跨硬件平台。虚拟机里有一个解释器,将JAVA语言逐句翻译成硬件懂得的机器码,这个动态解释会降低代码的运行速度。方舟编译器替代了Java虚拟机,在应用打包的时候就将所有程序,包括静态和动态的部分直接编译成机器指令。为了在不同硬件上工作,方舟编译器需要先编译出对应所有硬件平台的二进制文件,之后在具体手机安装的时候选择针对当前硬件平台的二进制装入手机。因此会出现安装包容量大的问题(因为安装包包含所有硬件平台的二进制文件)。据估计,方舟编译器重新编译的安装包要比安卓大两三倍,手机安装后的机器码要大0.5-1倍。带来的问题是占用存贮和内存显著增加。用户下载安装包会消耗越来越多的时间和流量。这是一个用空间换取运行速度的策略。华为宣称这个替代能够让系统响应快44%。
方舟编译器有严重的生态问题。首先华为必须将编译器代码开源,并让应用开发商免费下载,开发商将其应用用方舟重新编译,并再次对安卓的所有版本和所有硬件平台进行测试,改正Bug后,重新发布,在所有应用商店上架。这个工作必须让各个应用开发商自己做,华为不能代劳,因为每个应用都要有开发者的签名。这基本上是一个不可能完成的任务。你可以在爱国情怀下忽悠国内的部分开发者,但不可能让全球的应用开发者来跟随。大多数的应用开发商是中小规模的,甚至是个人,怎么可能有时间有精力开发编译测试如此多的版本?
当一个新手机硬件发布后,方舟编译器必须及时跟进,并将新版本推送给所有的开发商。随着越来越多新硬件的发布,方舟编译出的安装包势必会越来越大。用户下载安装包会消耗越来越多时间和流量。同时开发商编译时间会越来越长,需要测试的硬件会越来越多。
大多数应用开放商不跟随,又不能覆盖所有的手机硬件,上下流生态环境都打不开,生态系统培养不出来,这样的手机系统只能哄蒙小粉红。
这么大的麻烦换取的是最多44%的系统响应速度。而且这个提升是在实验室特定条件下测得的。体现在用户感知上,很可能要大打折扣。根据用户感知测试,一般人对在0.2秒以下的速度提升没有感知。在这个区间,人的感知已经达到饱和。换句话说,把响应速度从0.2秒提升到0.1秒,人感觉不到区别。目前中高端安卓手机的性能瓶颈不是CPU的处理速度。所以对这个方舟的优化,用户很可能无感。
总之,鸿蒙缺少革命性的创新,只是拼凑式的工程集成。以增大存储空间和应用开发的不便换取有限的速度提升,很难赢得生态系统。胎死腹中,是必然命运。现在已经过了余大嘴宣称的最晚的面市时间,鸿蒙仍旧神龙首尾两不见。不过鸿蒙的使命就是哄蒙。所以这个名字还会存在,继续哄蒙。
你说的对, 如果有选择, 他们是会用 Android 而非鸿蒙的. 但是在没有选择的情况下呢?难道也自己从头开发一个新的操作系统吗?为了华为手机能生存, 华为放弃鸿蒙的控制权也是完全可能的.
“老美还是有办法的,比如不让你access他的服务器,即使你有权使用,但拿不到代码也没用”
除非谷歌不对世界上开发者开放,所以不存在这种可能性。
我的意思是禁用 Android Service, 和其他 Google 的Apps, 否则华为也不需要自己开发鸿蒙了.
是你搞混了吧。
华为的方舟不必须支持安卓。
和坚持三七二十四的人没法讨论。
老美还是有办法的,比如不让你access他的服务器,即使你有权使用,但拿不到代码也没用
方舟最初是为了android的,没错吧?那么方舟是android的一部分吗?
你是不是把编译器和执行搞混了?
Android本身是不可能被禁用的,他的license已经规定死了.至于中国其他厂商,十之八九是不愿意用鸿蒙的,硬件已经弄不过华为了,软件在交给他家,还玩什么.除非华为把鸿蒙的控制权彻底放弃,这就要看华为有没有这个魄力了
不是有人定义。你回去看看架构。
大部分操作系统(安卓、华为的鸿蒙)都把编译器归为操作系统。尤其是为了跨平台操作。
至于其他手机厂商会不会用鸿蒙,我看希望不大,但华为自己在做硬件的时候,别人是不会来用他的OS的”
华为为了生态系统,必须开源开放。这个讨论没什么意义。华为承诺,如果鸿蒙能面市,一定开源。
正常情况下你是对的, 但是现在的情况是中国的所有手机厂商都面临着某一天被美国禁用 Android 的可能. 我想这些厂商不会不做最坏的打算, 在准备第二手. 采用鸿蒙也许是最小成本的方案.
"象 Apple 一样, 华为也可以有大量的第三方应用开发商, 在早期华为可以资助,扶持第三方应用开发商. 华为有巨大的中国市为其优势.
塞班 和 PalmOS 都早于 iOS, 所以先发并不保证优势, 关键在于市场的接受程度."
真正的智能手机领域,iPhone是最早的。
不认为大多数第三方应用开发商会支持华为。
按照华为定义,鸿蒙永远是备胎,没有人会为备胎开发应用。
主要还是有多少流量,多少利益,以及需要多少时间和精力去兼容.如果华为能够提供IDE,一次编译,产生包括Android和鸿蒙两套执行码,那么开发者的成本就会小很多,就有动力去开发兼容产品
现在有人定义Compiler是OS的一部分的?在Linux上都有多个C编译器,在Android上也有不同编译器,更不用说Windows了
只有苹果除外,他家是彻底封闭式的
和你说了,App开发者完全可以针对不同OS编译不同下载包,这也是可以自动化的,可能会编译时间较长,但对终端用户来说,下载的可能更小(相对现在Android)
至于其他手机厂商会不会用鸿蒙,我看希望不大,但华为自己在做硬件的时候,别人是不会来用他的OS的
编译器是操作系统的一部分。
Windows不是跨平台操作系统。
下载包太大有流量和下载时间的问题,下载后要占用存储。区别下载管理和实现都有困难,为了有限的速度优化,不值得。综合起来,没有优势。
象 Apple 一样, 华为也可以有大量的第三方应用开发商, 在早期华为可以资助,扶持第三方应用开发商. 华为有巨大的中国市为其优势.
塞班 和 PalmOS 都早于 iOS, 所以先发并不保证优势, 关键在于市场的接受程度.
====================================
1.你说的是操作系统开放,不是编译系统开放,这是两回事
2.如果OS能够兼容硬件并提供API,上层应用不用直接支持硬件,Windows,和DirectX非常好的示范
3.你说的是下载时间而不是存储空间的问题,这个可以由AppStore解决,AppStore可以存储不同版本,根据用户机型和OS下载,当然如果App能够和不同OS兼容,那么这根本就不是问题
为什么需要对所有新硬件都兼容呢?至少在初期只需要兼容华为的新硬件就够了. 就象 iOS 和 iOS Apps 只在 iPhone 硬件上运行一样, 鸿蒙和鸿蒙 Apps 只需要在华为硬件上运行就够了.
1.想让你的操作系统有生态环境,让上下游都跟随,你必须开放。谷歌就是用开放的系统,以后来者超越了苹果,赢得90%的市场。
2.编程代码人懂但机器不懂,需要编译器为每个硬件翻译成机器码。
3.所有的代码都占用存贮和内存,只是华为的方舟因为是打包前静态编译,需要对所有的硬件类型都先编译好再下载,其体积是其他OS的数倍。
2.你为windows写的代码需要在每种硬件/OS都重新编译?
3.至于空间占用,安卓也是把常用代码在运行时编译成二进制放在"硬盘"上,同样占用空间,只是你不知道而已