Extensión de nombre de archivo | .app ,.hap |
---|---|
Desarrollado por | Huawei |
Tipo de formato | Formato del paquete |
Contenedor para | |
Extendido desde | FRASCO |
El paquete de aplicaciones HarmonyOS o el archivo de aplicación , identificado con la extensión de archivo ".app", [1] sirve como el formato de archivo utilizado por el sistema operativo HarmonyOS . Funciona como una aplicación nativa de HarmonyOS para distribución e instalación a través de Huawei AppGallery , [2] o para distribución a través de Huawei Ability Gallery con respecto a aplicaciones sin instalación bajo el antiguo marco dual clásico y el sistema actual HarmonyOS NEXT del marco de aplicaciones OpenHarmony unificado. El archivo de aplicación también es utilizado por varios otros sistemas operativos de código abierto basados en HarmonyOS, como los sistemas operativos basados en OpenHarmony y Oniro OS , para la distribución e instalación de aplicaciones , videojuegos y middleware . Incluidos los sistemas operativos no basados en OpenHarmony, como el sistema operativo Unity basado en GNU Linux que admite el formato de archivo de aplicación. [3] [4] [5] [6] [7]
Cada aplicación HarmonyOS contiene uno o más archivos HarmonyOS Ability Package ( HAP , chino :鸿蒙能力包; pinyin : Hóngméng Nénglì Bāo ) con la extensión de archivo ".hap", [8] y el pack.info
archivo que describe los atributos del archivo de la aplicación. [9] [1]
La mayoría de las aplicaciones de HarmonyOS contienen al menos un archivo HAP del tipo de entrada, que es el módulo principal de la aplicación, y archivos HAP adicionales del tipo de función, que se utilizan para implementar una función específica de la aplicación. [9]
El subsistema de gestión de paquetes dentro de OpenHarmony para manejar paquetes de instalación de aplicaciones. Al considerar un entorno de PC. La función de instalación y actualización permite a los usuarios instalar o actualizar aplicaciones interactuando con el administrador de paquetes a través de una interfaz gráfica de usuario o una interfaz de línea de comandos . La función de consulta y desinstalación permite a los usuarios consultar los paquetes instalados y desinstalar los no deseados utilizando interfaces similares. Además, el almacenamiento donde la información del paquete se almacenaría en una base de datos o archivos de configuración en la PC. El subsistema de gestión de paquetes garantiza una gestión sin fricciones de los paquetes de aplicaciones, independientemente del formato del dispositivo. [10]
Las aplicaciones de HarmonyOS se distribuyen como un archivo de paquete de software conocido como App Pack o archivo App, con el sufijo .app, que es análogo a otros paquetes de software como apk utilizado por el sistema operativo Android , appx en Microsoft Windows o un paquete Debian en sistemas operativos basados en Debian.
Para crear una aplicación HarmonyOS, se requiere una herramienta de desarrollo de software como DevEco Studio para codificar y empaquetar HarmonyOS Ability Package (HAP) y los archivos asociados en un paquete de aplicación. [11]
Los archivos HAP pueden estar compuestos por recursos, bibliotecas de terceros y archivos de configuración . Se clasifican en dos tipos de módulos, es decir, de entrada y de función. El tipo de entrada de los archivos HAP es el módulo principal y debe incluirse en un paquete de aplicación, mientras que el tipo de función de los archivos HAP son módulos adicionales para implementar las funciones de las aplicaciones.
Además, un archivo de aplicación que contiene diferentes compilaciones y especificaciones optimizadas para los distintos dispositivos puede contener más de un archivo HAP del tipo de entrada. [4]
Históricamente, el desarrollo del formato HAP ha pasado por dos fases. La primera etapa, después de la descompresión, había un APK no ejecutable como la entrada del programa para conectarse con las bibliotecas de archivos AOSP de binarios para interactuar con la base AOSP de HarmonyOS 2.0 API 6, lo que es causado por la ecología imperfecta del desarrollo temprano del nuevo formato de archivo de aplicación durante el marco dual de OpenHarmony L3-L5 que consiste en la convergencia de la base EMUI Android . Durante el desarrollo temprano de la aplicación, los desarrolladores externos facilitaron el desarrollo para el empaquetado mixto de APK y HAP. [12] Desde la introducción de HAR en HarmonyOS 3.1 API 9 con el marco de programación declarativo ArkUI y ArkTS evolucionó de eTS en 3.0, como lenguaje de programación principal que reemplazó a los binarios de Java en la segunda etapa de HAP, los APK se eliminaron después de la descompresión, y HAP no se puede convertir en APK mediante un simple desempaquetado y empaquetado, por lo tanto, el formato de archivo HAP no es una carcasa del APK.
Antes de empaquetarlos en un paquete de aplicaciones, los archivos HAP pueden ejecutarse directamente en un dispositivo real o un emulador para que los desarrolladores depuren y verifiquen las aplicaciones durante la fase de desarrollo. [13]
Después del desarrollo, las aplicaciones que contienen información de firma se pueden distribuir a diferentes dispositivos con AppGallery Connect, un conjunto de herramientas de servicios para la creación, el desarrollo, la distribución y el mantenimiento de una aplicación. [14]
Para compartir código y recursos en un App Pack, el sistema operativo ofrece dos tipos de paquetes compartidos: Harmony Archive (HAR) , que es un paquete compartido estático, y Harmony Shared Package (HSP) , que es un paquete compartido dinámico. [15]
Tanto HAR como HSP permiten compartir código, bibliotecas de C++, recursos y archivos de configuración. En HAR, el código y los recursos se compilan junto con los módulos de invocación, lo que posiblemente dé como resultado múltiples copias del mismo código y recursos. Por el contrario, HSP permite la compilación independiente, lo que da como resultado una sola copia del código y los recursos en el producto de compilación. [15]
Cuando varios HAP hacen referencia al mismo HAR, se puede utilizar el HSP para compartir algunas variables de estado y reducir el tamaño de un App Pack. Sin embargo, el HSP tiene algunas restricciones; por ejemplo, no admite la declaración de capacidades en su archivo de configuración y sus módulos de invocación deben estar en el mismo modelo de etapa que el HSP. [15]
En OpenHarmony 4.1, las mejoras de la API 11 con HSP a nivel de sistema admiten actualizaciones OTA dentro del sistema de administración de paquetes de aplicaciones. Además, la actualización de la API 11 en la biblioteca de clases básicas públicas admite la creación de trabajadores dentro de HSP y HAR, que es algo a lo que un usuario asigna una tarea y continúa en el proceso, mientras que el trabajador, o varios trabajadores también conocidos como grupos de subprocesos , procesan la tarea en un subproceso diferente. Se inicia un método de devolución de llamada cuando se llama a un método especial proporcionado en la llamada inicial. [16]
La estructura del archivo de la aplicación después de compilarlo y empaquetarlo en un modelo de etapa generalmente contiene los siguientes archivos y carpetas. [9]
entry.hap
y feature.hap
: los módulos básicos de los tipos de entrada y características para instalar una aplicación, que contienen las siguientes carpetas y archivos.ets
:una carpeta que almacena archivos de bytecode generados después de la compilación del código.libs
:una carpeta que almacena los archivos de dependencia del módulo principal.resources
:una carpeta que contiene archivos de recursos como gráficos, multimedia, cadenas de caracteres y diseños.resources.index
:un archivo que proporciona una tabla de índice de recursos generada cuando se crea una aplicación.app.json5
y module.json5
: archivos JSON con información de configuración para herramientas de compilación, sistema operativo y mercados de aplicaciones. [17]pack.info
:un archivo que describe los atributos del paquete de aplicaciones.