12

OpenHarmony 2.0和HarmonyOS发布会快评

 4 years ago
source link: https://blog.csdn.net/Innost/article/details/117575774
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

OpenHarmony 2.0和HarmonyOS发布会快评

背景

OpenHarmony与2021年6月2号开源,第一时间下载了代码,做了一些分析。晚上Harmony OS 2.0发布,看了直播,感觉很激动。

今天一大早起来写一些感受。主要是汇总了OpenHarmony2.0和HarmonyOS发布会一些我比较感兴趣的东西。

OpenHarmony 2.0的初步情况
此次开源的版本就叫OpenHarmony 2.0。以后也不再区分L2,L3,L4这样的。该版本可在所有大小设备上使用。
此次开源没有java程序的支持,也就是不支持Android。没有android的东西,也不支持java应用。

下图是代码文件夹

217535c55548ba860e31736a36d23ef6.png第一时间对代码量进行了统计。我算的比较粗,用的统计软件也是我十年前写《深入理解Android》几本书时用的了(有朋友知道好使的代码统计软件不妨推荐下)

3818d0b4511a47ea98eb93844cbd2975.png不含kernel、third_party(包括device/hisilicon/third_party也挪出去),所有我认识的源码文件共包含有效代码行数1912976,接近200w行。

 而归属third_party+device/hisilicon/third_party的代码行数为7607742(不考虑Html/html)

84a04dfaf40b14538f67a7e832b9ef4e.png

所以, 1912976 /9520718=20%。鸿蒙自己开发的代码占全部源代码的20%。不要小看这个,按之前的网上说法,AOSP里谷歌写的代码才占了15%。

当然,以上代码总量没计算Linux Kernel,那玩意光自己就有近1300多万行代码。后续我还会对OpenHarmony代码做些介绍,敬请期待。

Codelab里的分布式场景介绍

华为开发者官网里开源了二十多个Demo,我们第一时间整理了其中和分布式有关的Demo如下:

91b3d874038abee2776eb8776ed1bfa8.png

所有Demo入口地址在:

https://developer.huawei.com/consumer/cn/codelabsPortal/index。

以上总结可供老板,做决策的领导,想方案的产品经理看。????

HarmonyOS 2.0发布会中一些有意思的信息

接下来说Harmony OS 2.0发布会。头天晚上看完后,第二天又看了回看,把一些细节给摸清楚了。

超级终端,分布式等

  • 全栈解耦:一套代码,满足各种硬件要求。这一条在这部分提得很少,后面讲鸿蒙桌面的时候提得多

  • 设备互联:基于软总线技术。场景有:多机位模式:一个手机可以看多个摄像头。如下图所示。

  • ddaebcd3a5857a6f174cdec75e7955e5.png

  • 协同办公:手机,平板,PC协同

    • 统一控制中心:所有设备的控制,状态显示都集中在手机上,就好像它们是一台设备一样。

    • 做了一个统一的UI/UE入口——卡片:方便用户使用。其使用场景有“可以选择音乐输出到任何连接上的耳机,音箱"。

99bdb10e1821f4b08e34c28eb5647b98.png

  • 多设备构成超级终端:用户操作体验增强:卡片里展示超级终端,可被连接的设备悬浮显示。拖拽即可完成手机与其他设备的连接。

  • 另外,几个设备协同是有排斥关系的。如下面右图。蓝色是室外音箱,对角的是室内音箱。当室内音箱被协同后,室外音箱会被排除出去。这一点只是想说明,华为考虑得比较周到,它把设备协同中出现的设备之间冲突情况也考虑进来。另外,手表,pad,手机都可以运行这个控制中心。

96a06e0c7c8468f640a5d0c191c300ad.png

  • 多设备协同的一个有意思的场景是”手机播放音乐,音箱和手机协同后,声音从音箱出。“

  • 还有一个场景是看视频:手机和电视机协同后,手机的视频转到电视播放。手机和耳机协同后,电视机声音从耳机播放。这里应该还是有场景的判断。手机是控制,电视机是播放源。虽然是在手机上对耳机进行了协同,但实际上是把让电视机的声音转到耳机去输出(至少效果是这样,技术实现不清楚是通过手机中转的音频数据还是耳机和电视进行了蓝牙配对以及传输)

这里,王博士提到了两个关键技术,值得重视:

  • 应用场景为多设备间的音画同步软时钟同步

  • 无线传输时的抗干扰算法

接着,介绍了一个手机和PAD,以及手机和PC的协同,马上看一下:

  • 手机和pad协同:pad和手机协同后,pad可方便访问手机上的照片。如下图所示:
    5574580371a9131d4f3a9e2477b69d3a.png

  • 手机和PC协同:手机变成PC上的一个盘符。PC需要安装一个插件。类似MTP那样的,只不过改成无线传输了

  • Harmony Connect:畅联。多设备间的通话,语音,视频。

  • 智能家电:碰一碰配网,碰一碰展示设备的智能功能

鸿蒙桌面
解决一次开发多端部署的问题。现在看解决办法和快应用比较像,呈现形式为卡片,不需要安装(意思是不需要用户去应用市场下载和安装,是不是类似微信小程序,快应用?技术上不是特别确定,但感觉小程序,卡片这种模式越来越流行了)。

鸿蒙桌面这里提到了两个关键技术:

  • 分布式编程框架:就是原来提到的分布式软总线,分布式任务调度,分布式数据管理等

  • 原子化服务:不好描述是什么。但展现形式是卡片

4aad48caf3982a95fc9b9805151aa49b.png有一个应用场景是跨设备流转:手机和pad搭配成超级终端后

  • 手机能看到pad上的任务。比如下面这样 

b57b8bbe64b23d880b42cb78e8649eab.png

  • 手机上的任务能拖到pad上去执行。示例是把wps从手机拖到pad。pad上启动并展示了wps。其展示内容和之前在手机上编辑的一样。初步技术判断:需要app支持,就是把手机上该app的执行的信息。先同步到大屏上对应的app里。期待更多应用适配鸿蒙!

其他一些吓人的技术

这里就不截图了,比如全栈优化、动态空间管理, 全新自研图形栈,多设备协同验证。这些都是很有价值的关键点。值得大家关注。以后代码要是开源,我们再第一时间分析。

对鸿蒙OS的理解

首先,OpenHarmony是不含Android,所以,大家不必纠结OpenHarmony是不是Android套壳,现在连Java都跑不起来。不过,我觉得是个机会,读了《深入理解Android Java虚拟机ART》一书的几千个朋友里,哪怕有10个人能在ART基础上改一改,OpenHarmony跑Java程序不是什么难题。

而HarmonyOS是看做OpenHarmony的厂商定制版。为了消费者考虑,现阶段兼容Android是一种务实的选择。随着OpenHarmony的生态完善,逐步替代Android也不是不可能。

另外,正如我上篇文章《三分天下有其一,鸿蒙OS全面介绍》所说,鸿蒙的目标是星辰大海。不要老盯着现在这些所谓的“问题”,从战略高度看,即使鬼子不逼我们,我们也得走这一条路。华为在服务端有openEuler,终端有鸿蒙,对大家来说不是件好事吗?

最后的最后

  • 我期望的结果不是朋友们从我的书、文章、博客后学会了什么知识,干成了什么,而应该是说,神农,我可是踩在你的肩膀上的喔。

  • 关于学习方面的问题,我已经讨论完了。后面这个公众号将对一些基础的技术,新技术做一些学习和分享。也欢迎你的投稿。不过,正如我在公众号“联系方式”里说的那样——郑渊洁在童话大王《智齿》里有一句话令我印象深刻,大意是“我有权保持沉默,但你说的每一句话都可能成为我灵感的源泉”。所以,影响不是单向的,很可能我从你那学到的东西更多。

71e015d07ce967be6e8c14cfafc7358a.png

神农和朋友们的杂文集

长按识别二维码关注我们


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK