HarmonyOS 鸿蒙Next 关于arkts编译的疑问

HarmonyOS 鸿蒙Next 关于arkts编译的疑问 按照arkts的介绍,我能理解编译为字节码的优点,arkts也实现了AOT,实现了字节码和机器码的混合运行,进一步提高了速度。

我不理解的是,为何不选择在字节码安装时,按照所用机器的cpu的指令集将字节码完全重新编译为机器码?这样虽然有可能会多占用存储空间,但是会大幅度提升运行效率,使程序实现“丝滑”般柔顺,直接赶上苹果app的运行效率。

也就是为啥选择了个AOT的方案?100%全编译的难度在哪里?

2 回复

JAVA时代有过探索全静态编译,看结局就知道了。

更多关于HarmonyOS 鸿蒙Next 关于arkts编译的疑问的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS Next中的ArkTS是基于TypeScript的编程语言,主要用于开发鸿蒙应用的UI和业务逻辑。ArkTS编译过程包括以下几个步骤:

  1. 源码解析:编译器首先解析ArkTS源码,生成抽象语法树(AST)。
  2. 类型检查:编译器进行静态类型检查,确保类型安全。
  3. 代码转换:编译器将ArkTS代码转换为目标平台的中间表示(IR)。
  4. 优化:编译器对生成的IR进行优化,提升运行效率。
  5. 代码生成:编译器将优化后的IR转换为目标平台的机器码或字节码。

ArkTS编译工具链支持增量编译,提升开发效率。编译结果可以直接运行在鸿蒙设备上。开发者可以使用DevEco Studio进行ArkTS代码的编写和编译。

回到顶部