【HarmonyOS开发】鸿蒙ACE-资料和介绍

前言

ACE是Ark Compiler Engine的缩写。即方舟编译器引擎等工具,主要包括以下的部分

arkcompiler_toolchain

方舟工具链组件为开发者提供调试(Debugger), 性能调优(CPUProfiler), 内存调优(HeapProfiler)等针对ArkTS应用程序的调试调优工具
在这里插入图片描述

arkui_ace_engine

布局引擎提供开发者进行应用UI开发时所必需的能力,包括UI组件、动画、绘制、交互事件、JS API扩展机制等。
在这里插入图片描述

arkcompiler_ets_runtime

运行时OpenHarmony上默认的ArkTS语言运行时。支持Ecmascript规范定义的标准库和高效container容器库,提供完备的C++交互ArkTS NAPI和各种高性能的垃圾回收器,驱动着万物互联时代的OpenHarmony应用程序
在这里插入图片描述

arkcompiler_runtime_core

方舟运行时公共组件主要由与语言无关的基础运行库组成,包含承载字节码以及执行字节码所需要相关信息的ArkCompiler File文件组件、支持运行时调试的Debugger Tooling工具组件、提供不同系统平台公共接口的ArkCompiler Base基础库组件、以及与语言无关的公共指令集体系结构ISA等
在这里插入图片描述

arkui_advanced_ui_component

一些高级UI组件
在这里插入图片描述

arkcompiler_ets_frontend

方舟运行时子系统的前端工具。结合ace-ets2bundle组件,支持将ets文件转换为方舟字节码文件
在这里插入图片描述

developtools_ace_ets2bundle

声明式范式的语法编译转换提供声明式范式的语法编译转换,语法验证

gitee.com/arkui-x

跨平台声明式UI
在这里插入图片描述

方舟编译器

编译工具链架构

以ArkTS/TS/JS源码作为输入,将其编译生成为abc(ArkCompiler Bytecode,即方舟字节码)文件
在这里插入图片描述

运行时

gitee.com/openharmony…
运行字节码文件,实现对应语言规范的语义逻辑。

●仅支持运行方舟eTS编译器(ts2abc或es2abc)生成的方舟字节码文件
●只支持ES2021标准和严格模式(use strict)
●不支持通过字符串动态创建函数(比如new Function(“console.log(1);”))

主要由四个子系统组成:

Core Subsystem:方舟运行时公共组件

gitee.com/openharmony…

主要由与语言无关的基础运行库组成,包含承载字节码以及执行字节码所需要相关信息的ArkCompiler File文件组件、支持运行时调试的Debugger Tooling工具组件、提供不同系统平台公共接口的ArkCompiler Base基础库组件、以及与语言无关的公共指令集体系结构ISA等

Execution Subsystem:

包含执行字节码的解释器、快速路径内联缓存、以及抓取运行时信息的Profiler。
关于方舟字节码和方舟字节码文件可以参考
方舟字节码基本原理 developer.huawei.com/consumer/cn…
方舟字节码文件格式 developer.huawei.com/consumer/cn…
Compiler Subsystem:
包含Stub编译器、基于IR的编译优化框架和代码生成器。
Runtime subsystem:
包含ArkTS/TS/JS运行相关的模块。

内存管理:对象分配器与垃圾回收器(并发标记和部分内存压缩的CMS-GC和Partial-Compressing-GC)
分析工具:DFX工具、cpu和heap的profiling工具
并发管理:actor并发模型中的abc文件管理器
标准库:Ecmascript规范定义的标准库、高效的container容器库与对象模型
其他:异步工作队列、TypeScript类型加载、跟C++交互的JSNAPI接口等。

写在最后

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
关注小编,同时可以期待后续文章ing ,不定期分享原创知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值