【学习笔记】HarmonyOS到底是不是Android套皮?

本文为学习笔记,并非原创。原文链接,原文发表于2021-06-09

HarmonyOS分析

原作者通过分析HarmonyOS应用的构建产物,得出如下结论:

1.构建产物中,包含一个标准Android的apk文件。该apk内AndroidManifest.xml文件中做了两件事:

1)定义Application为ShellApplication

2)定义MainActivity为MainAbilityShellActivity

2.ShellApplication最终继承自Android的Application。

3.MainAbilityShellActivity继承自Android的Activity。

原作者认为鸿蒙的分布式软总线是一个私有RPC协议。通过OpenHarmony源码分析,分布式软总线主要有以下几个模块:

  1. 设备发现:采用了CoAP协议作为设备发现协议,通过在一个局域网内发送广播来实现。
  2. 数据传输:基于Session提供统一的数据传输功能。
  3. 设备认证与管理:主要是安全。
  4. AceEngineLite:应该就是JS开发的Ability页面如何编译以及 在嵌入式设备上如何渲染的相关实现,这也许就是为什么HarmonyOS可以采用多种开发语言开发界面的关键所在。各种小程序、Flutter相关设计都是这样的,设计思想都是:自创UI框架以屏蔽系统差异。

原作者认为,HarmonyOS = Android - GMS + HMS + 分布式软总线 + 以Ability为核心的应用开发框架 …

more ...