为鸿蒙说两句公道话

今天看了鸿蒙系统的评测,看完后我感觉很欣慰,为什么这么说 ? 不是很多人吐槽鸿蒙是 Android 套壳吗 ?或者叫鸿蒙 UI 吗?说鸿蒙没有自己的核心技术。看了鸿蒙系统的设计,底层确实是基于安卓的 AOSP 接口没有错,但是我倒是觉得系统设计者应该是一个务实的家伙。因为至少没有被不理智的民族主义冲昏头脑,没有蠢到真正的从零开始设计一套新的系统,而是可以让用户没有学习成本、无痛的切换到一套新的操作系统上面。

如果不是共用底层,那么你基本不可能通过在线升级把 Android 升级为 鸿蒙 OS,还能兼容 Android 的海量应用(你想想你的 Android 可以在线升级为 IOS 吗?)等等……

为什么说无痛迁移这么重要 ?因为如果真正的开发一套全新内核的操作系统,会遇到以下这些无法解决的问题:

  • 没有生态:如果不跟安卓共用底层,那么无法兼容目前安卓海量的应用程序,一个没有应用程序的系统,再强大再好用,你会切换吗 ?
  • 不稳定:Window/Mac OS 都是经过30年的长期进化才有的今天的稳定性,Android 也有10多年的进化,如果从 0 开发新系统,那么快则 4-5 年系统才能趋向稳定,华为等得起,市场也等不起
  • 成本高:就算华为再有钱,完全从零开发操作系统的成本是无法估量的,根据估值微软的 Windows 就已经接近千亿美金,华为目前市场占用率下滑,不可能还有那么多资金投入到操作系统上

选择跟 Android 共享底层会带来什么好处? 如下:

  • 兼容生态:就像上面说了,用户切换到鸿蒙,不会有任何的阻碍,成本极地,因为操作就安卓系统差不多。是一个可以不被民族主义绑架也能真正产生价值的产品
  • 成本低:这里就不需要多说,底层不用自己写了,起码节省 80% 的开发成本,可以把更多的精力投入到扩展系统能力上,例如分布式协同,万物互联等等
  • 稳定性:安卓底层有多稳定,鸿蒙就有多稳定,增加用户切换的信心

我相信鸿蒙的设计者选择和安卓相同的 AOSP 底层是经过深思熟虑的,是真正能看清现实,为什么这么说:

  • 知道那些无脑吹捧华为的狂热的民族主义只是少数人,他们也不是华为的目标用户,他们最终还是会趋向性价比去选择产品,然后留下一句:下次一定
  • 那些抨击华为没有从零开始写操作系统的人也是少数,他们也不是华为的目标用户,就算真的从零设计实现了操作系统,他们也还会继续喷其他的缺点,该喷的还的喷,喷子永远不会停下来

华为的鸿蒙的设计是真正从普通用户和使用者的角度出发,在乎用户体验和实用的设计。所以华为的最终目标用户是:我们大多数的普通人,我们购买一件产品,不是因为它有某种“爱国情怀”的标签,也不是它是不是真正的从零开始实现的操作系统,我们普通人需要的就是一个价格合适,可以给我们生活带来便利的工具。这才是我们会购买它的根本原因。

大胆猜测华为的下一步动作

大胆猜测一下,我相信华为下一步的目标肯定会替换到安卓的 AOSP 底层,只是这块工作难度太大,时间和市场都没办法等这么久,所以只能先基于 AOSP 先把应用层实现,等应用层铺开后,鸿蒙的应用层生态建立后,再替换为鸿蒙的内核,兼容 AOSP 那么可以做到对应用层无干扰的情况下完成整个操作系统的全部替换,那么鸿蒙就真正的意义的“完全自主研发的操作系统”。或许你会疑问这么做会不会成功 ?答案是肯定的,因为已经有很多类似的成功案例,我们看看以下两个比较类似的案例:

  1. kunbernetes 决定弃用 Docker
  2. 苹果 M1 全面替换 intel 芯片

他们的共同点是什么 ?

kunbernetes 是位于应用层的容器调度工具,起初它的底层是基于 Docker 实现的(非常类似鸿蒙 OS 基于安卓的 AOSP 底层实现应用),但是随着 kunbernetes 的发展和壮大,大家都开始依赖 kunbernetes 后,Docker 本身也成为限制 kunbernetes 发展的瓶颈,kunbernetes 就直接把 Docker 替换为自家的容器实现,技术上更可控,因为大家都是面向使用 kunbernetes 至于底层是用 Docker 还是自家的容器,who care ? 只要不影响用户使用就好。

苹果自家 M1 替换 Intel 芯片这个案例大家应该都知道了,当时苹果还是小公司的时候,不得已使用 Intel 芯片作为自己产品的核心处理器,然后随着苹果市场份额壮大,Intel 逐渐成为苹果发展的瓶颈,因为大家使用的是苹果的应用程序,所以后面就算把 Intel 芯片替换掉,只要苹果能保证 M1 兼容应用程序,那么底层是使用 M1 还是使用 Intel 谁会在意 ? 后面 M1 芯片的苹果产品受到市场认可,也证明了这策略是成功可行的。

只要掌握应用层的生产资料,那么底层使用什么并不重要,我相信也这是鸿蒙的思路,只要等到鸿蒙生态成熟,那么未来某一天我们可能会突然看到新闻 华为鸿蒙系统决定放弃 安卓AOSP底层 替换为鸿蒙核心 的时候,也只是会心一笑而已。因为它根本就不影响你的使用。所以你无需关心它底层到底是安卓的AOSP还是真正重写的鸿蒙OS内核。

文章到这里就差不多可以总结了:

  • 我认为鸿蒙选择跟安卓共用底层是正确的选择,不仅可以让用户无缝升级,还能复用目前海量的安卓 APP 市场,真正从用户使用的角度设计系统,而不是被民族主义冲坏理智的头脑
  • 我相信鸿蒙OS在未来替换会逐渐安卓的AOSP底层,完成真正意义上的“完全自主研发操作系统”,这个里程碑对于我们还是蛮有意义。只是这个阶段太难完成,鸿蒙OS和用户都还需要时间来建立鸿蒙OS的生态壁垒

本文完 2021.6.3

phoenix 肖斌 于 广州

为鸿蒙OS说两句公道话(我对鸿蒙OS的一些看法)的更多相关文章

  1. MySQL 只能做小项目?松哥要说几句公道话!

    松哥上学那会,很多人对 MySQL 有一些偏见,偏见主要集中在以下几方面: MySQL 不支持事务(事实上 MyISAM 有表锁,但是效率比较低) MySQL 存储的数据量比较小,适合小项目,大项目还 ...

  2. 为Java说句公道话

    为Java说句公道话 有些人问我,在现有的语言里面,有什么好的推荐?我说:"Java. " 他们非常吃惊:"什么?Java!" 所以我如今来解释一下. Java ...

  3. 【转】给Java说句公道话

    有些人问我,在现有的语言里面,有什么好的推荐?我说:“Java.” 他们很惊讶:“什么?Java!” 所以我现在来解释一下. Java超越了所有咒骂它的“动态语言” 也许是因为年轻人的逆反心理,人们都 ...

  4. 神级程序员通过两句话带你完全掌握Python最难知识点——元类!

    千万不要被所谓"元类是99%的python程序员不会用到的特性"这类的说辞吓住.因为 每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生 ...

  5. 两句话掌握python最难知识点——元类

    千万不要被所谓“元类是99%的python程序员不会用到的特性”这类的说辞吓住.因为每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生万物 我是谁?我从哪来 ...

  6. 两句话掌握 Python 最难知识点——元类

    千万不要被所谓“元类是99%的python程序员不会用到的特性”这类的说辞吓住.因为每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生万物 我是谁?我从哪来 ...

  7. Leetcode884.Uncommon Words from Two Sentences两句话中的不常见单词

    给定两个句子 A 和 B . (句子是一串由空格分隔的单词.每个单词仅由小写字母组成.) 如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的. 返回所有不常用单 ...

  8. 简单两句话解释下prototype和__proto__

    先上两句代码: var Person = function () {}; var p = new Person(); 把new的过程拆分成以下三步: <1> var p={}; 也就是说, ...

  9. 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)

    前言 首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUp ...

随机推荐

  1. 构建基于表单配置的 Jenkins 测试项目(接口、UI、APP、Jmeter)

    1. 第一个 hello world 项目 2. 构建自动触发的项目(接口测试) 1)新建测试项目(执行测试脚本) 2)新建 Maven 打包项目 3)手动执行构建 4)修改 Web 工程代码并 pu ...

  2. kubernetes集群centos7初始化

    设置系统主机名以及 Host 文件的相互解析 hostnamectl set-hostname k8s-master01 安装依赖包 yum -y install wget net-tools nfs ...

  3. 2020北航OO第一单元总结

    前言 学习面向对象这门课程的后的第一单元作业,主线是多项式求导,三次作业层层推进,由单一的幂函数求导,到幂函数和三角函数的复合求导,最后再到两种函数的嵌套求导,由两个类到重构后的十几个类,我逐渐对面向 ...

  4. SpringBoot自动装配源码

    前几天,面试的时候被问到了SpringBoot的自动装配的原理.趁着五一的假期,就来整理一下这个流程. 我这里使用的是idea创建的最简单的SpringBoot项目. 我们都知道,main方法是jav ...

  5. LINQPad,我的C#/.NET学习诀窍

    LINQPad,我的C#/.NET学习诀窍 在我以往的文章中,尤其涉及代码演示的,都使用了同一个工具--LINQPad.但许多客户面对我分享的.linq源文件都迷茫不知所措,因此有必要来聊聊一下这个强 ...

  6. 【MySQL】实现线上千万数据表添加字段操作以及缓存刷新

    需求背景: 由于业务需求,需要在线上用户表添加渠道字段,用于区分不同渠道注册的用户,目前该表有20+个字段,8个索引 线上用户数据大概1500W左右,需要不停机增加数据库字段,同时需要刷新Redis缓 ...

  7. 从苏宁电器到卡巴斯基第13篇:我在苏宁电器当营业员 V

    强大的竞争对手 与现在遍地开花的苹果店相比,在2010年左右的时候,在长春,真正得到苹果授权的苹果店还是屈指可数的.当时在重庆路上如果想买苹果的产品,要么可以去苏宁国美,要么只能去卓展楼上的苹果专区了 ...

  8. Android最新敲诈者病毒分析及解锁(11月版)

    一.样本信息 文件名称:久秒名片赞,(无需积分s)(2)(1)(1).apk 文件大小:1497829字节 文件类型:application/jar 病毒类型:Android.CtLocker 样本包 ...

  9. 我的主站 SHARELIST -分享列表 (功能持续完善中 2019-11-24 版本0.3)

    网站地址: http://www.sharelist.link 网站地址二维码: 网站介绍和更新: http://106.13.105.156/sharelist.php?listid=5dbda96 ...

  10. Python练习3-XML-RPC实现简单的P2P文件共享

    XML-RPC实现简单的P2P文件共享 先来个百度百科: XML-RPC的全称是XML Remote Procedure Call,即XML(标准通用标记语言下的一个子集)远程过程调用.它是一套允许运 ...