stringtranslate.com

Compilador Ark

Ark Compiler , también conocido como ArkCompiler , es una plataforma unificada de compilación y ejecución que admite la compilación conjunta y la ejecución en lenguajes de programación y plataformas de chips, también sistemas operativos de código abierto OpenHarmony , Oniro OS, junto con HarmonyOS propietario con sistema de núcleo único HarmonyOS NEXT incluido en la aplicación nativa en Programación basada en eventos en un entorno de desarrollo unificado y anteriormente creado para EMUI basado en Android para teléfonos inteligentes y tabletas Huawei con aplicaciones apk habilitadas para HMS en AppGallery que mejoran el rendimiento de la aplicación. [2] Admite una variedad de lenguajes de programación dinámicos y estáticos como JS , TS y ArkTS . Es la base de compilación y ejecución que permite que OpenHarmony, Oniro OS junto con HarmonyOS NEXT se ejecuten en múltiples formas de dispositivos como dispositivos inteligentes, teléfonos móviles, PC, tabletas, televisores, automóviles y dispositivos portátiles. ArkCompiler consta de dos partes, cadena de herramientas del compilador y tiempo de ejecución. [3]

Huawei inicialmente publicó el código abierto de Ark Compiler para la plataforma Android en GitHub , el 9 de septiembre de 2019, mientras se alejaban del sistema operativo debido a las sanciones de EE . UU . [4] Luego, la empresa publicó el código abierto de Ark Compiler con OpenArkCompiler como parte del proyecto de código abierto Huawei Ark Compiler (HACOSP) a principios de febrero de 2022 [5] y ArkJS_runtime, el año anterior en septiembre de 2021 después de dos años de inicio en agosto de 2019. [6]

Descripción general

ArkCompiler tiene una plataforma de compilación y ejecución multilingüe configurable y con componentes integrados de OpenHarmony y HarmonyOS con HarmonyOS NEXT . Contiene los componentes principales, como el compilador, la cadena de herramientas y el entorno de ejecución. Admite la compilación y ejecución de lenguajes de programación de alto nivel en la plataforma multichip. ArkCompiler JS Runtime proporciona la capacidad de compilar y ejecutar el lenguaje JavaScript (JS) en el lado del sistema operativo OpenHarmony.

El entorno de ejecución de JS de ArkCompiler consta de dos partes, la cadena de herramientas del compilador de JS y el entorno de ejecución de JS. La cadena de herramientas del compilador de JS compila el código fuente de JS en códigos de bytes de ArkCompiler. El entorno de ejecución de JS ejecuta los códigos de bytes de ArkCompiler generados. [7]

Núcleo de ejecución de ArkCompiler

El módulo común de tiempo de ejecución del lenguaje en el sistema operativo OpenHarmony llamado ArkCompiler Runtime Core también creado como Ark Runtime sobre la base de HarmonyOS Runtime en el marco dual actual, junto con HarmonyOS NEXT basado en el marco único OpenHarmony que consta de bibliotecas de tiempo de ejecución básicas independientes del lenguaje, incluyendo ArkCompiler File, Tooling, Base e ISA. El archivo ArkCompiler proporciona códigos de bytes e información necesaria para ejecutar los códigos de bytes. Tooling admite el depurador de tiempo de ejecución. La base es responsable de implementar utilidades relacionadas con la plataforma. La función ISA proporciona una arquitectura de conjunto de instrucciones común que es independiente del lenguaje que permite ejecutar aplicaciones HarmonyOS independientemente de los diferentes conjuntos de instrucciones y chipsets en el hardware con una gran compatibilidad de diversos conjuntos de hardware e interoperabilidad entre HarmonyOS, Oniro y los ecosistemas de software y hardware de OpenHarmony. [10]

Tiempo de ejecución de ArkCompiler JS

ArkCompiler JS Runtime es el entorno de ejecución de JS predeterminado en OpenHarmony. Admite bibliotecas ECMAScript y bibliotecas de contenedores eficientes. También proporciona un conjunto de API nativas para la interacción de C++ y JS y una variedad de recolectores de basura que ofrecen un alto rendimiento. [11]

Tiempo de ejecución de ArkCompiler eTS

ArkCompiler eTS Runtime es un entorno de ejecución utilizado en aplicaciones ArkTS derivadas de la antigua API 8 eTS (extendedTypeScript) de HarmonyOS 3.0/OpenHarmony 3.1 en OpenHarmony, así como en aplicaciones HarmonyOS que aprovechan el sistema operativo central HarmonyOS NEXT personalizado basado en OpenHarmony . Contiene un asignador y recolector de elementos no utilizados (GC) para objetos ArkTS/JS, una biblioteca estándar que cumple con la especificación ECMAScript, un intérprete para ejecutar el código de bytes ARK (abc) generado por los componentes front-end de ARK, una caché en línea para aceleración, un compilador tipado estáticamente, una interfaz de funciones C++/C para el desarrollo de aplicaciones de API nativas (NAPI) en tiempo de ejecución y otros módulos en compilación anticipada a través de DevEco Studio desde la versión 3.1.1 tanto en HarmonyOS 3.1 SDK como en OpenHarmony 3.2 SDK API 9. [12]

Interfaz de usuario de ets

ets_frontend es una herramienta de interfaz de usuario en el subsistema de tiempo de ejecución de ARK que combina el componente ace-ets2bundle que admite la conversión de archivos de lenguaje de programación ETS en archivos de bytecode de ARK. Se corresponden con el desarrollo de aplicaciones ArkTS en OpenHarmony y el desarrollo de HarmonyOS en el sistema HarmonyOS NEXT. [13]

Cadena de herramientas de ArkCompiler

La cadena de herramientas ArkCompiler ofrece a los desarrolladores herramientas de depuración para el desarrollo de aplicaciones ArkTS , como Debugger, CPUProfiler y HeapProfiler. Las capacidades de depuración y ajuste que ofrece la cadena de herramientas Ark se utilizan a través del IDE DevEco Studio , que se basa en ArkCompiler Runtime para proporcionar información relacionada con el tiempo de ejecución a los desarrolladores. [14]

Referencias

  1. ^ "OpenHarmony 3.0 adaptó con éxito el chip Loongson 1C300B". Actualización de Huawei . 15 de diciembre de 2021 . Consultado el 15 de diciembre de 2021 .
  2. ^ Siddiqui, Aamir (22 de junio de 2019). "Ark Compiler Explained: How Huawei's App Compiler May Improve Android App Performance" (Explicación del compilador Ark: cómo el compilador de aplicaciones de Huawei puede mejorar el rendimiento de las aplicaciones de Android). XDA Developers . Consultado el 12 de febrero de 2024 .
  3. ^ "Tiempo de ejecución de ArkCompiler". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  4. ^ Amit (9 de septiembre de 2019). "El compilador Huawei Ark es oficialmente de código abierto desde GitHub para alojamiento propio". Actualización de Huawei . Consultado el 12 de febrero de 2024 .
  5. ^ Sarkar, Amy (9 de febrero de 2022). "Lanzamiento de OpenArkCompiler 1.0, proyecto de código abierto Huawei Ark Compiler (HACOSP)". Sala de prensa de HC . Consultado el 12 de febrero de 2024 .
  6. ^ Mishra, Yash (7 de septiembre de 2021). "El entorno de ejecución de Ark Compiler JS se convirtió en código abierto en Huawei HarmonyOS". Sala de prensa de HC . Consultado el 12 de febrero de 2024 .
  7. ^ "Descripción general". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  8. ^ "OpenHarmony 3.0 adaptó con éxito el chip Loongson 1C300B". Actualización de Huawei . 15 de diciembre de 2021 . Consultado el 15 de diciembre de 2021 .
  9. ^ "OpenHarmony 3.0 adaptó con éxito el chip Loongson 1C300B". Actualización de Huawei . 15 de diciembre de 2021 . Consultado el 15 de diciembre de 2021 .
  10. ^ "Runtime Core". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  11. ^ "ArkCompiler JS Runtime". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  12. ^ "ArkCompiler JS Runtime - ets Runtime". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  13. ^ "ets_frontend". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  14. ^ "Componentes de la cadena de herramientas de Ark". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .