主题:鸿蒙只是套皮安卓的各位出来要不要表个态啊 -- DDDgva
文章标题是“替换分析了200W行开源鸿蒙源码后,我发现…”,有兴趣的各位可以自己去搜索
他提供了如下数据:
而归属 third_party+device/hisilicon/third_party 的代码行数为 7607742(不考虑 Html/html)
以上代码总量没计算 Linux Kernel,那玩意光自己就有近 1300 多万行代码。
鸿蒙的介绍视频中,很明确地说了,底层包含 Linux Kernel。作者还提到:
他给出的总结包括:
首先,OpenHarmony 是不含 Android。(开源的版本叫 OpenHarmony 2.0。没有 Java 程序的支持,不支持 Android。没有 Android 的东西,也不支持 Java 应用。)
(其次) HarmonyOS 是看做 OpenHarmony 的厂商定制版。
我想补充的是,OpenHarmony 和 HarmonyOS 是两样事物。陈独秀和汪精卫都是中国人,但这两个中国人还是很不一样的。
编写的文档都是在ubuntu下用root账号编写的,小白跟着做,会遇到很多意想不到的失败,所以我边学边维护一个小白看的入门文档.
有人不明白我现在的文档和鸿蒙有什么关系,在这里说一下:
node.js是java script 运行环境
wsl,是windows 下的linux子系统
ubuntu,是linux的发行版
git,是代码版本管理软件
tortoisesgit,是git的图形管理界面
markdown preview enhanced 是vs code 的md文档编辑软件。
都是一些基本的工具,由于是小白,我先从了解掌握工具开始。
我想,怎么着也得2米以上吧!
面料也不能简单地用塑料布,至少得是GORE- TEX起步,防水透气;高端产品采用Sympatex,根本就不要考虑钱不钱的事;
还要考虑骨骼,用低密高强的多相复合陶瓷相对靠谱一些。
动力采用大疆最新的DJI FPV空气动力学套件
这么搞不就是把智能雨伞吗?有兴趣的兄弟可以去搞个专利
头顶噪音嗡嗡嗡不好解决啊。
西西河的贴子终于有一个我能插上嘴的话题了。特意注册了名字过来说两句。
曾经在android开发的世界里混过好些年,解决了个人温饱问题。因此我对android开发还是有了解的。看到不少对android认识的谬误,在知乎那里是气势汹汹,只讲立场,不讲事实,就不多说了。在这里还能理性地争论,就想说说自己的感觉。
老话说:在行越久,胆子越小。到现在根本不敢说我懂OS,甚至都不敢说懂得OS的定义了。因为软件始终还是实践第一的行业,教科书上的定义往往落后于实践。现在是个公司出一套软件都可以叫XXOS。因此啥叫OS,有技术上的定义,也有商业上的定义。绝大多数人都搞不清楚里面的东西,再加上一个“套壳”的概念,还是自由心证,洋洋洒洒数百言,与人无用,与己无用。这种P用没有的东西能波涛汹涌流行于网络,要是没有小钱钱在推波助澜,会让人怀疑自己的社会经验的。
不过正方的论据的技术性也不强。下面的那个“转自水木社区的帖子”(以下简称此文),虽然大多都对,但里面颇有谬误。如果就这样认识对手的实力,以后打起仗来,吃亏的还是自己。
首先一个概念:什么是Android?这其实不是一个技术概念,而是一个商业概念,或者说授权的概念。GOOGLE维护着一套庞大复杂的兼容性测试集合。要想获得android logo,就得“一次性”完全通过兼容性测试,然后提交给GOOGLE。审核通过以后,GOOGLE要求安装Google Mobile Services,这才授权LOGO。严格地说,那些国行版本,都不能叫android,没有GMS都不能叫android。只不过国产手机厂家凶猛,一开发就行销全球,认证的是国际版,国行版就是没有GMS而换另外的市场引擎。有钱赚,GOOGLE也会睁一只眼闭一只眼的。
虽然android logo的最终目的是GMS。但是GOOGLE确实是有真本事的。那一套兼容性测试集合对付起来相当麻烦。项目里需要安排专人专门对付,要花不少时间和精力的。曾经看过其中一些代码,也是有收获的。实际上就是那一套兼容性测试集合从技术上定义了什么是android。要维护几千万行代码的长时间的产出可控,在技术上在工程上在管理上是得有真本事。国产软件,如果也能维护几千万行代码,十年以上稳定产出,工程管理技术也得跟上才行。
此文的最大问题是把GOOGLE看得太LOW了。作者大概没有实际参与过android的开发,对android的认识采信了一些网络上是似而非的传言。先从细节说起。
“Android是采取Apache许可而非GPL,这就意味着Google可以在AOSP的基础上修改、衍生出商业的Android版本,而无需开放这个商业版本的源代码。”这句话对一半错一半。其实把这套规则用到极致的倒反是国内厂家。GOOGLE倒反比较爱惜羽毛,不是因为道德,而是他不给你碰瓷捞钱的机会。
以前ANDROID系统开发完毕之后,会出一份整个系统里各个软件的License统计情况。这个统计表好像还要报给GOOGLE的。写这个脚本还贼麻烦,因为有些软件是组合式的,有些代码是这个,有些代码是那个。只要是GPL/LGPL的,一定会开放出去的。国内大一点的公司基本上都能遵守,还是那句话,不是因为道德,而是他不给你碰瓷捞钱的机会。
而对于GOOGLE来说,更彻底一些,只要是曾经开放的,就一直保持开放,并且会扩大开放。因为这是他的商业策略,进攻手段。而不开放的东西,都是另起炉灶,从头开发的。对此,你从License的角度来说,是无可指责的。
“AOSP本来是基于Linux kernal开发的,而Linux是使用GPL授权,因此Google又在Linux kernal上开了一个“小门”,使得AOSP绕过了GPL的约束,从而可以采取Apache授权。”这种说法网上甚为流行,但却是错的。从来就没有开了一个“小门”这种文艺描述的操作。从License的角度来说,从传统习惯来说,厂商的做法是符合规矩的。
我们知道一个软件大了就需要分层。但是哪层厚一些哪层薄一些,有技术经验,也有商业上的考量。举一个具体的例子,android的图形依赖于OpenGLES,下面是各家的GPU。各商家为了保守自家的秘密,为linux kernel开发的驱动写得尽可能的薄,可能就是暴露一些寄存器和内部地址,啥意思也没有文档告诉你。这驱动是GPL的,一直保持开放,反正你也看不懂。而具体的操作,逻辑处理,状态机之类的,完全封装OpenGLES代码库中,都是厂家的私有版权,只开放给合作厂商,像华为/联想这些厂商,肯定有高通/ARM的代码。所以说GOOGLE根本就没有开了一个“小门”这种文艺描述的操作,而是想商业厂商之所想,在规则内选择了偏向商业利益。
“当Android早期较为弱小时,将其开源可以获得整个社区的支持。而当它发展壮大之后,再销售Android的私有版本(即商业版本)才能获得最大的收益。...”这种说法太肤浅了。什么是“私有版本”?私有版本都是手机厂商的,GOOGLE对此真不看重。GOOGLE的红线是android一定要有GMS,有了GMS才能叫android。开放源码是他的进攻策略,只要能推广GMS,他啥事都会干,尽可能开放源码,有助于降低开发成本,就有助于推广他的GMS,所以做为基础设施的AOSP,他是一定会保持开放并且扩大其规模,甚至不允许厂商乱改,所以那一套兼容性测试集合就是约束厂商的。所以对于各厂商来说,底层和中间件基本一样,有价值的可能就是漂亮的界面,就是所谓的套壳,还有提供有价值的服务的软件上。
所以此文有些说法是不了解情况,不接地气,空对空,是不能打动其它厂商家为你出力的。最根本一点可能是下面一点认识有误。
“在这种情况下,Google推出了安卓与iPhone抗衡。但是iPhone实在是太强大了,光靠Google一家也不够,所以Google选择把安卓的源代码开放出来。”
“在这种情况下,Google推出了安卓与iPhone抗衡。但是iPhone实在是太强大了,光靠Google一家也不够,所以Google选择把安卓的源代码开放出来。”作者没有认真调研,人云亦云,所以就不能看明白GOOGLE的一些操作逻辑。
其实是GOOGLE创始人一开始就想明白了用开源赚钱的新的一种商业模式。开源和IPHONE的逼迫真的没有多少关系。有没有IPHONE,ANDROID都会开源。
假如我有一套赚钱的服务,名叫GMS,需要在手机上运行,安装得越多我就越能赚钱。那一个自然的选择是让手机开发越便宜,手机卖得越多,服务就推得越广。这套玩法,很多人是想明白的了,包括周36和罗锤子。但玩成功的,现在也就是GOOGLE。无非就是GOOGLE拿出了真金白银,打动了人心而已。
在智能手机的史前史,OS有几个候选,但都力量分散,各自为战。厂商要开发起来时间很久,成本很高。其实各厂商之间很多工作都是重复劳动,浪费了大家的时间和成本。
于是GOOGLE看到了这点,软件基础设施,后来就成了AOSP。GOOGLE一开始的策略就是开放源码,这是真心实意的,因为从中他有钱赚,就像我们相信我们吃饭的工具一样,明天还得凭此揾食。
做这事有一个很重要的中立原则。首先没有人是傻子,那些在大公司里高层混的都是人精。不是嘴上说说就信的,怎么让别的厂商相信你是中立的。
GOOGLE从一开始就很明确地表示我不从硬软件上赚钱,我从服务上赚钱,也就是后来的GMS。给出的商业模式,各个公司各安其位,各有所得。各自都有钱赚,然后GOOGLE也长久地投入资源真心实意地开发ANDROID,并且他不从大伙的碗里抢食,他另有钱赚。一切都明明白白,于是商业齿轮就运转起来。
在这期间还发生过一件事情。GOOGLE开发了ANDROID,自然就会对厂商开发的功能指手划脚,硬件软件功能都有。于是硬件厂商回怼说:你是做软件的,你不懂硬件。软件厂商也回怼类似的:你不懂市场,净开发些没用的功能。于是GOOGLE一气之下,开发了Nexus/Pixel系列手机拿到市场上去卖,表明自己既懂硬件也懂市场。Nexus/Pixel系列手机就是一个示范,ANDROID手机就应该长这个样子,各种新功能也最先在这里示范或实验。
Nexus/Pixel系列手机的销量在市场上撒撒水一般般了。这个事情神奇的地方就在这里。GOOGLE都亲自下场踢球了,但大家还是相信他的中立性,没有谁把他当成竞争对手。
这点是很重要的,信心比黄金更重要。鸿蒙要想发展,要想吸引越来越多的厂商参与,首先就得让人相信做为基础设施的中立性。毕竟华为曾经有过黑寡妇的名号。会不会我开发了一个有趣的东西,华为某个子公司某个部门就下场把我吃了。众多第三方观望就在于此。
维持这套体系自然会使用强权霸权,让它为我利益所用。那怎么样挥舞霸权?
“如果哪家厂商未经Google同意就私自发行了AOSP的衍生版本,Google就宣布这是“不兼容Android”的,并且联合整个联盟一起抵制你。”太LOW的手段了。GOOGLE还没有到这种气急败坏的时候。他下的狠手比这有效得多了。
先看他是怎么对付阿里OS的。他下场对干了么,他出面对联盟发话了么。你以为是电影里的黑社会火拼呀,老大喊一声兄弟们给我上,太LOW了。GOOGLE他只是在手机上市发布会前夕通知生产厂家不得给阿里生产手机。然后发布会被紧急取消,阿里信心扫地,大家对阿里再无信心。GOOGLE又不是生产厂家的老板,凭什么命令厂家?因为他可以影响手机厂商到哪家工厂代工。谁要是不听话就饿死你。
老大就是这样,该出手时就出手,不用别人相助,一出手就把人逼死在家里,连家门都没出,憋屈而死。这才有威慑力。其实出面给盟友发话,打法律官司,才是最没有效率的。阿里说不定都准备好一笔钱应对这些的。只要产品能在市场上站住脚跟,就算是官司打了三年后输了,那你也无法抹杀他在市场上的存在,他始终就是你的一个对手。今天华为手机就是这样,禁能把他禁绝么?越禁倒反越成强敌,远不如笼络在帐下安心。川普是卧底啊。
其实AOSP版本的手机曾经大行其道,就是MTK早期的ANDROID手机,曾经流行于亚非拉,中东,东欧等不发达地区,手机厂商多如牛毛。GOOGLE哪里管得过来。但是智能手机的市场的发展自有其发展规律。手机厂商慢慢收缩到现在的个位数,GMS成了标配,说明GMS自有其价值,并不完全是因为GOOGLE强权的缘故。说到这个,国产软件市场的管理,国产软件的种种过度行为,真是让人一言难尽。反正流氓软件全家桶这类的,很容易坏事,很让人深恶痛绝。
GOOGLE还有另外一种手段影响厂商,就是提前给被选中的厂商开放源码。早期是选择两家,现在应该很多了,华为/联想之类的都是TIER1厂商了,他们能提前半年介入ANDROID的开发,用还未公开的最新ANDROID版本同步开发新手机,这样等ANDROID最新版本上市的时候就同步上市手机硬件或软件版本。这会极大地影响产品的收益,甚至影响公司的命运。HTC早期为ANDROID的开拓立下汗马功劳,因为对GOOGLE的指手划脚略有不满,然后在某个重要的版本时,好像是4.0的时候,GOOGLE不选HTC作为首发厂商,然后HTC就此由盛转衰。
所以华为鸿蒙能走到今天的位置,应该给川普发一个一吨重的奖章。是川普他帮着把壁垒砌起来了,否则难度太大了。当然,也是华为有骨气有心气,否则像某些人那样,主子还在琢磨着怎么吓唬他呢,他就火速跪下磕头饶命,难怪主子会狠狠给他两大耳光。
既然GOOGLE这么威风八面,那GOOGLE是怎么达到这种地位的?一句话,他的地位也是通过真本事搏杀而来的。
qdst2008,你说你已经有非常丰富的鸿蒙开发体会了。
@qdst2008
qdst2008,从你前面的帖子来看,你说你已经有非常丰富的鸿蒙开发体会了。
你和大家分享了你的鸿蒙开发,这很宝贵:
" ----------------------------------------------------------------
说一些开发体会
相较于安卓开发,鸿蒙大幅度降低了开发难度,应用开发者只需要专注于自己的业务逻辑就行,其他的都是系统去实现,比如数据如何在设备间流转,如何发现设备,想要调用哪个设备的哪个硬件,所以大家会发现,鸿蒙应用的尺寸要远远小于安卓应用。
" ----------------------------------------------------------------
这个起码是中级以上的开发者才能有的体会,而且是安卓和鸿蒙都有中级以上的开发者才能有的体会。
但是从你给的文档看来,你是刚刚开始学习开发的,鸿蒙更是基本没碰。
而且你后来你自己讲你是鸿蒙开发的门外汉,零基础开始学。
那么你是怎么在零基础开始学开发并且是鸿蒙开发的门外汉情况下就能有中级以上的开发者才有的丰富的鸿蒙开发体会的?
你分享的的是你的鸿蒙开发体会还是别人的鸿蒙开发体会?
" ----------------------------------------------------------------
2021-06-07 17:59:50
qdst2008
说一些开发体会
相较于安卓开发,鸿蒙大幅度降低了开发难度,应用开发者只需要专注于自己的业务逻辑就行,其他的都是系统去实现,比如数据如何在设备间流转,如何发现设备,想要调用哪个设备的哪个硬件,所以大家会发现,鸿蒙应用的尺寸要远远小于安卓应用。
" ----------------------------------------------------------------
以下是 作者 对本帖的 补充
2021-06-12 11:41:58
我是门外汉
零基础开始学。
帖:4629574 补 4629567
" ----------------------------------------------------------------
先从道听途说而来的历史讲起。
话说在21世纪前10年的早期,MOTO启动了一个手机项目,名叫JAVA PHONE。那时候和智能沾边的手机啥样?最高端的CPU是ARMv5 200MHz,16~32MB内存。这配置,跑一个QT得嫌慢。你还想跑JAVA?大公司虽然有长远目光,看到10年后,但也顶不住成本压力,最后关掉了该项目。
那时候,鲁宾同学也在MOTO里,不久就出来创业,想开发一个移动OS,名叫ANDROID。据MOTO里的人说,技术上很多地方和JAVA PHONE很像。这消息没人考证,反正后来是MOTO最早成立了ANDROID开发团队,早期ANDROID手机的黄埔军校。
后来鲁宾同学的公司被GOOGLE收购,有点钱了,研发得以加速。在2008年发表1.0版本,只有模拟器,没有真机,也没有哪个公司参与,全在观望。在2009年早期,1.5版本分布,GOOGLE忽悠了HTC做出了第一个真机。那时候HTC的重心是Windows Mobile。后来两个手机项目一生一死,HTC死里逃生后才全力做ANDROID手机。
也就是说一直到1.5版本之前,好多年里,ANDROID就是一个纯赔钱货,无底洞。只不过是GOOGLE有钱有耐心,顶下来了。从今天的结果看,那是烧钱烧出的寂寞。
后面就进入疯狂的迭代阶段,以至于有些厂商说ANDROID你能不能慢下来,等等我们的脚步。一直到4.1(2012年)ANDROID做了最重大的重构,系统的流畅性才可能和IPHONE比较,到5.0(2014年)主要接口才进化稳定下来,所以今天大多数商业软件都基于5.0接口发布,到6.0(2015年)以后,媒体就不再关注ANDROID的版本发布,因为足够稳定了,也没啥新奇东西刺激大家了。
而在这期间,ANDROID的发展也充满着各种博弈。早期,当第一个手机成功上市以后,各个厂商心眼就活了。既然有免费的东西,不拿白不拿,我完全可以做此基础上加入我的东西,那不就成了我的东西了么。于是各怀心思的厂商开始了各自的魔改工作。其中以MOTO团队和中移动研究院团队为典型。
GOOGLE还是以技术实力说话的。他通过疯狂迭代升级版本来应对。最后各家厂商跟不上研发速度,只得把魔改项目关掉。在这期间,GOOGLE也飘过,忘了初心,执行过闭源策略,就是3.x版本。他们把最新的技术都集中的一个新版本里,以此吸引厂商,但是闭源。结果遭到了厂商的一致反对,结局惨淡。因为大家都停留在2.x版本上疯狂魔改,有各自突围、分道扬镳的迹象,最后没办法,GOOGLE只得把最新技术回归到开源版本上,也就成了4.0版本。
此外,GOOGLE也遭遇过一次尴尬的失败,是在ChromeOS出来的时候。ChromeOS是谁呀,GOOGLE的亲儿子,ANDROID是养子,从各自创始人现在的结局就可以知道。ChromeOS刚出来的时候,GOOGLE就给各个厂商打招呼,ANDROID今后只能做800x480以下的小屏幕设备,更大的屏幕的设备留给ChromeOS做,ChromeOS甚至要跨界跨平台,今后也许会替代ANDROID。最直接的举动就是ANDROID的显示模块代码里最大就只支持800x480。刚刚在ANDROID平台上挣钱的厂商哪里会听从GOOGLE划定的地盘,各种魔改方案出台,各种大小不一的设备不停地试探各种市场。结局是ChromeOS成了玩具,而ANDROID成了全能选手,铺天盖地。GOOGLE公司内部再也没有哪个系统能撼动ANDROID的地位,最后是ChromeOS的老大接手成了ANDROID的老大,才奠定了自己在GOOGLE里的地位。
到了6.0以后,博弈稳定下来。各个厂商也绝了自建市场自建服务的想法,开始安心做GOOGLE的硬件厂商。虽然大钱都让GOOGLE赚去了,但这样自己也能稳定赚钱,活得更滋润一些。这时GOOGLE才成了说一不二的老大。
地位,真得靠真本事搏杀得来的。没有哪个人是省油的灯。
昨天学会了编辑md文档,把部分文档用md格式美化了一下。
对md的体会就是,太好用了。基本上不用花什么成本就能把文档快速分出层次。值得花半天时间去掌握一下,有种相见恨晚的感觉,哈哈
为什么把一套如此受谷歌控制的操作系统宣传成开源的?为什么你们当初不科普?如果你们当初科普下,国家早就有一套备份的了。
在此问题的基础上
为什么华为被制裁后科普起了GMS?
为什么鸿蒙发布后突然科普起AOSP了?
为什么现在又科普起了那么多开源协议?
然后我现在又想问:
鸿蒙需要GMS不?
鸿蒙需要你那狗屁认证不?
鸿蒙在法律上有问题不?
所以你自己说,鸿蒙到底算不算国产的操作系统?
qdst2008,你说你已经有非常丰富的鸿蒙开发体会了。
@qdst2008
qdst2008,从你前面的帖子来看,你说你已经有非常丰富的鸿蒙开发体会了。
你和大家分享了你的鸿蒙开发,这很宝贵:
" ----------------------------------------------------------------
说一些开发体会
相较于安卓开发,鸿蒙大幅度降低了开发难度,应用开发者只需要专注于自己的业务逻辑就行,其他的都是系统去实现,比如数据如何在设备间流转,如何发现设备,想要调用哪个设备的哪个硬件,所以大家会发现,鸿蒙应用的尺寸要远远小于安卓应用。
" ----------------------------------------------------------------
这个起码是中级以上的开发者才能有的体会,而且是安卓和鸿蒙都有中级以上的开发者才能有的体会。
但是从你给的文档看来,你是刚刚开始学习开发的,鸿蒙更是基本没碰。
而且你后来你自己讲你是鸿蒙开发的门外汉,零基础开始学。
那么你是怎么在零基础开始学开发并且是鸿蒙开发的门外汉情况下就能有中级以上的开发者才有的丰富的鸿蒙开发体会的?
你分享的的是你的鸿蒙开发体会还是别人的鸿蒙开发体会?
" ----------------------------------------------------------------
2021-06-07 17:59:50
qdst2008
说一些开发体会
相较于安卓开发,鸿蒙大幅度降低了开发难度,应用开发者只需要专注于自己的业务逻辑就行,其他的都是系统去实现,比如数据如何在设备间流转,如何发现设备,想要调用哪个设备的哪个硬件,所以大家会发现,鸿蒙应用的尺寸要远远小于安卓应用。
" ----------------------------------------------------------------
以下是 作者 对本帖的 补充
2021-06-12 11:41:58
我是门外汉
零基础开始学。
帖:4629574 补 4629567
" ----------------------------------------------------------------
光AOSP那套系统华为都干不出来,用还是不用?
跟Linux还不一样,用Linux是真没问题。
AOSP绝对是个雷,什么时候爆而已。
但是不用也不行,兼容Android就定死了,但是不兼容也不行。
希望能看到你更多的文档,我也可以从中学习。
安卓5.0之前的安卓是什么屎样子你不会不清楚吧?
你们开始不说这是一套严重受人控制的操作系统,然后众多中国厂商和三星在给别人添砖加瓦,最后还打算说开源了也不算?
而且说华为做不出来我严重持怀疑态度,华为修改了底层的文件系统(读写速度和长时间使用后不卡顿比安卓强多了)和后台机制(可以同时开6个游戏),GPU引擎部分则早就修改了。
华为没有全部开源也不想这些代码被某些厂商白嫖吧,你们一方面宣传操作系统多么难,一方面又要求华为2年赶出来的系统比安卓打磨10年的优秀,到底是看得起华为还是看不起众多厂商?
华为最危险的只有芯片,没有新机器的话,市场占有率越来越低是可能失败,但是有新机器华为绝对能过50%占有率,那么国内生态就是华为说了算。