上一节我们了解了关于开源和OpenHarmony做了简单的了解,今天主要了解OpenHarmony的技术架构

作者:坚果

公众号:"大前端之旅"

华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体验官,开源项目GVA成员之一,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。

OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件。OpenHarmony技术架构如下所示:

img

上面是OpenHarmony的技术架构下面是Flutter 架构层

Flutter 架构层

Flutter 被设计为一个可扩展的分层系统。它可以被看作是各个独立的组件的系列合集,上层组件各自依赖下层组件。组件无法越权访问更底层的内容,并且框架层中的各个部分都是可选且可替代的。

Architectural diagram

对于底层操作系统而言,Flutter 应用程序的包装方式与其他原生应用相同。在每一个平台上,会包含一个特定的嵌入层,从而提供一个程序入口,程序由此可以与底层操作系统进行协调。

Flutter 引擎 毫无疑问是 Flutter 的核心,它主要使用 C++ 编写,并提供了 Flutter 应用所需的原语。当需要绘制新一帧的内容时,引擎将负责对需要合成的场景进行栅格化。它提供了 Flutter 核心 API 的底层实现,包括图形(通过 Skia)、文本布局、文件及网络 IO、辅助功能支持、插件架构和 Dart 运行环境及编译环境的工具链。

Flutter 框架层 提供了以 Dart 语言编写的现代响应式框架。它包括由一系列层组成的一组丰富的平台,布局和基础库

最后是Android系统架构

Android系统架构

Android系统架构分为四层架构,从高到低分别是应用层,应用框架层,系统运行层和Linux内核层。 Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。 它们一般都是使用Java进行编写。

image-20220222221100106

总结

由于我平常接触的是Flutter,现在参加的是OpenHarmony的活动,所以我就将Android ,Flutter,OpenHarmony各平台的架构做了汇总。

参考链接


坚果
74 声望7 粉丝

坚果派联合创始人、华为HDE,OpenHarmony MVP