CSDN 发表于 2021-6-4 15:45:55

分析了 200w 行 OpenHarmony 2.0 源码后,有了这些发现

作者 | 阿拉神农 责编 | 欧阳姝黎
https://p1.pstatp.com/large/pgc-image/SNITKRIBqnnhoh背景
OpenHarmony 2.0于2021年6月2号开源,第一时间下载了代码,做了一些分析。晚上HarmonyOS 2发布,看了直播,感觉很激动。
这里分享一些感受。主要是汇总了OpenHarmony2.0和HarmonyOS发布会一些我比较感兴趣的东西。
https://p3.pstatp.com/large/pgc-image/SLyLiCO6agR9fuOpenHarmony 2.0的初步情况
此次开源的版本就叫OpenHarmony 2.0。以后也不再区分L2、L3、L4如许的。该版本可在所有巨细装备上使用。
此次开源没有Java程序的支持,也就是不支持Android。没有Android的东西,也不支持Java应用。
下图是代码文件夹
https://p9.pstatp.com/large/pgc-image/SZLkz2tBV1fNO4第一时间对代码量举行了统计。我算的比较粗,用的统计软件也是我十年前写《深入理解Android》几本书时用的了(有朋友知道好使的代码统计软件不妨保举下)
https://p3.pstatp.com/large/pgc-image/SZLkz3pAVzpk2p不含kernel、third_party(包括device/hisilicon/third_party也挪出去),所有我认识的源码文件共包含有效代码行数1912976,靠近200w行。
而归属third_party+device/hisilicon/third_party的代码行数为7607742(不考虑Html/html)
https://p1.pstatp.com/large/pgc-image/SZLkzVj4SlogSN所以, 1912976 /9520718=20%。鸿蒙自己开辟的代码占全部源代码的20%。不要小看这个,按之前的网上说法,AOSP里谷歌写的代码才占了15%。
当然,以上代码总量没盘算Linux Kernel,那玩意光自己就有近1300多万行代码。
https://p3.pstatp.com/large/pgc-image/SNINCltGCH6V4rCodelab里的分布式场景介绍
华为开辟者官网里开源了二十多个Demo,我们第一时间整理了其中和分布式有关的Demo如下:
https://p1.pstatp.com/large/pgc-image/SZLkzWG5Kxx820所有Demo入口地址在:
https://developer.huawei.com/consumer/cn/codelabsPortal/index。
以上总结可供老板,做决策的向导,想方案的产品司理看。
https://p9.pstatp.com/large/pgc-image/SNINFls8LQiGKZHarmonyOS 2.0发布会中一些有意思的信息
接下来说HarmonyOS 2.0发布会。头天晚上看完后,第二天又看了回看,把一些细节给摸清楚了。
超级终端,分布式等

[*]全栈解耦:一套代码,满足各种硬件要求。这一条在这部门提得很少,背面讲鸿蒙桌面的时候提得多
[*]装备互联:基于软总线技能。场景有:多机位模式:一个手机可以看多个摄像头。如下图所示。
https://p3.pstatp.com/large/pgc-image/SZLkzWoCpLli97

[*]协同办公:手机,平板,PC协同

[*]统一控制中央:所有装备的控制,状态显示都集中在手机上,就好像它们是一台装备一样。
[*]做了一个统一的UI/UE入口——卡片:方便用户使用。其使用场景有“可以选择音乐输出到任何连接上的耳机,音箱"。

https://p3.pstatp.com/large/pgc-image/SZLkzymGerhTeo

[*]多装备构成超级终端:用户操作体验增强:卡片里展示超级终端,可被连接的装备悬浮显示。拖拽即可完成手机与其他装备的连接。
[*]别的,几个装备协同是有排斥关系的。如下面右图。蓝色是室外音箱,对角的是室内音箱。当室内音箱被协同后,室外音箱会被排除出去。这一点只是想说明,华为考虑得比较周到,它把装备协同中出现的装备之间冲突情况也考虑进来。别的,手表,pad,手机都可以运行这个控制中央。
https://p3.pstatp.com/large/pgc-image/SZLkzzy4AZEt39

[*]多装备协同的一个有意思的场景是”手机播放音乐,音箱和手机协同后,声音从音箱出。“
[*]还有一个场景是看视频:手机和电视机协同后,手机的视频转到电视播放。手机和耳机协同后,电视机声音从耳机播放。这里应该还是有场景的判断。手机是控制,电视机是播放源。固然是在手机上对耳机举行了协同,但实际上是把让电视机的声音转到耳机去输出(至少效果是如许,技能实现不清楚是通过手机中转的音频数据还是耳机和电视举行了蓝牙配对以及传输)
这里,王博士提到了两个关键技能,值得器重:

[*]应用场景为多装备间的音画同步软时钟同步
[*]无线传输时的抗干扰算法
接着,介绍了一个手机和PAD,以及手机和PC的协同,马上看一下:

[*]手机和pad协同:pad和手机协同后,pad可方便访问手机上的照片。如下图所示
https://p3.pstatp.com/large/pgc-image/SZLl00UCKhfBmo

[*]手机和PC协同:手机变成PC上的一个盘符。PC需要安装一个插件。类似MTP那样的,只不外改成无线传输了
[*]Harmony Connect:畅联。多装备间的通话,语音,视频。
[*]智能家电:碰一碰配网,碰一碰展示装备的智能功能
鸿蒙桌面
解决一次开辟多端摆设的问题。现在看解决办法和快应用比较像,呈现情势为卡片,不需要安装(意思是不需要用户去应用市场下载和安装,是不是类似微信小程序,快应用?技能上不是特别确定,但感觉小程序,卡片这种模式越来越流行了)。
鸿蒙桌面这里提到了两个关键技能:

[*]分布式编程框架:就是原来提到的分布式软总线,分布式任务调度,分布式数据管理等;
[*]原子化服务:不好描述是什么。但展现情势是卡片;
https://p1.pstatp.com/large/pgc-image/SZLl0168IaQPhp有一个应用场景是跨装备流转:手机和pad搭配成超级终端后

[*]手性能看到pad上的任务。比如下面如许
https://p1.pstatp.com/large/pgc-image/SZLl01lH6cWyZZ

[*]手机上的任务能拖到pad上去执行。示例是把wps从手机拖到pad。pad上启动并展示了wps。其展示内容和之前在手机上编辑的一样。初步技能判断:需要app支持,就是把手机上该app的执行的信息。先同步到大屏上对应的app里。期待更多应用适配鸿蒙!
其他一些吓人的技能
这里就不截图了,比如全栈优化、动态空间管理, 全新自研图形栈,多装备协同验证。这些都是很有价值的关键点。值得大家关注。以子女码要是开源,我们再第一时间分析。
https://p9.pstatp.com/large/pgc-image/SLyLiDbAhsVBHs对HarmonyOS的理解
首先,OpenHarmony是不含Android,所以,大家不必纠结OpenHarmony是不是Android套壳,现在连Java都跑不起来。而HarmonyOS是OpenHarmony的厂商定制版。为了消费者考虑,现阶段兼容Android是一种务实的选择。随着OpenHarmony的生态完善,渐渐替换Android也不是不可能。
https://p3.pstatp.com/large/pgc-image/SNINFms5qTXSbB生于2001年的《程序员》曾伴随了无数开辟者发展,影响了一代又一代的中国技能人。时隔20年,《新程序员》带着全球技能大家深邃思考、优秀开辟者技能创造等深度内容回来了!同时将全方位为所有开辟者呈现国表里核心技能生态体系全景图。扫描下方小程序码即可立即订阅!

蟠溪Z 发表于 2021-6-4 16:39:54

越专业越没人看啊

hnortg 发表于 2021-6-4 16:42:53

再专业也无法让黑子闭嘴,他们还是会这么说鸿蒙是安卓套壳,不如IOS,只会用苹果,什么设备用鸿蒙就抛弃!因为他们的职业就是收钱抹黑!

不回复傻子的问题 发表于 2021-6-4 17:11:03

OpenHarmony是真正自研os,目前手机上升级到HarmonyOS是为了兼容apk,套壳了Android,观点跟我一致

瑟瑟西风秋无意 发表于 2021-6-4 17:26:14

HarmonyOS和OpenHarmony关系究竟有多大,用了多少OpenHarmony东西,现在下结论太早了。毕竟我们看不见HarmonyOS的源码,华为有计划开源HarmonyOS,其他厂商也可以用它,那高通MTK等芯片厂商应该就会出HarmonyOS版本的解决方案给那些手机厂商,到时候拿到工程代码就能知道究竟是怎么回事了。

氛围组荣誉组员 发表于 2021-6-4 17:17:33

安卓应用不是要用java虚拟机吗?现阶段鸿蒙是怎么实现兼容安卓app的呢?

人生来不平等丶 发表于 2021-6-4 17:08:07

花粉看分析代码吹鸿蒙:虽然看不懂但好专业!大佬!花粉看分析代码打脸鸿蒙:虽然看不懂但你一定是个假程序员!

风叔他叔 发表于 2021-6-4 18:18:32

@江帆掠影 这才是专业 你的认知是错的

格兰德帕李 发表于 2021-6-4 16:40:12

1秒10行,200万行不吃不喝得多久

Richard_Boswell 发表于 2021-6-4 17:08:45

这也忒水了 CSDN的深度呢?
页: [1] 2 3
查看完整版本: 分析了 200w 行 OpenHarmony 2.0 源码后,有了这些发现