Conceptos básicos de desarrollo de aplicaciones OpenHarmony

introducción

Este artículo clasifica los conocimientos básicos necesarios para participar en el desarrollo de la aplicación OpenHarmony a partir de cinco aspectos: la estructura del paquete de la aplicación OpenHarmony, el desarrollo de habilidades, el desarrollo de la interfaz de usuario, la estructura de directorios del proyecto de la aplicación OpenHarmony y el lenguaje de programación.

Referencias:

OpenHarmony工程介绍
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-project-overview-0000001218440650
快速开始、开发
https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/application-dev-guide.md/
入门、开发
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/document-outline-js-ets-0000001282486428

1. La estructura del paquete de solicitud de Hongmeng

1. La forma de lanzamiento de la aplicación Hongmeng es APP Pack (Paquete de aplicaciones, APP para abreviar), que consta de uno o más paquetes HAP (Harmony Ability Package) y un archivo pack.info que describe las propiedades de APP Pack (generado automáticamente por el IDE al compilar) composición.

inserte la descripción de la imagen aquí

entry2. Cada HAP corresponde a un Módulo en el directorio del proyecto de la aplicación Hongmeng Por ejemplo, la carpeta nombrada en el proyecto Hongmeng que se muestra en la figura a continuación es un Módulo. Al compilar el proyecto de aplicación de Hongmeng, cada módulo se puede compilar en un HAP.

inserte la descripción de la imagen aquí

3. Hay dos tipos de HAP en la aplicación Hongmeng: Entry HAP y Feature HAP.

(1) Entrada HAP

El HAP de tipo de entrada es el módulo principal (módulo de entrada) en la aplicación, que es equivalente a la entrada del programa de aplicación para un dispositivo específico. Cuando la aplicación se abre en un dispositivo determinado, la HAP de entrada para este dispositivo se ejecutará primero. Esto significa que solo hay un HAP de entrada en la aplicación instalada en el dispositivo; sin embargo, puede haber varios módulos de tipo entrada en el proyecto Hongmeng para adaptarse a diferentes tipos de dispositivos o diferentes tipos de dispositivos del mismo tipo, como se muestra a continuación Como se muestra en la figura.

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/add_new_module-0000001053223741#section18939175113911

inserte la descripción de la imagen aquí

Además, Entry HAP se puede instalar y ejecutar de forma independiente en el dispositivo.

(2) Función HAP

El HAP de tipo de función es un módulo de funciones (módulo opcional) en una aplicación. Una aplicación puede tener uno o más HAP de funciones, o no. Solo la función HAP, incluida la capacidad, puede ejecutarse de forma independiente en el dispositivo.

4. Un HAP (módulo) se compone de capacidad, recursos, bibliotecas de terceros y archivos de configuración.

(1) Habilidad

Un HAP puede contener una o más Habilidades, o puede no contener Habilidades.

Habilidad tiene dos modelos: modelo FA y modelo Stage.Para más detalles, consulte la segunda parte de este artículo: Desarrollo de habilidades.

La capacidad es la abstracción de las capacidades de las aplicaciones de Hongmeng. Es la parte central de las aplicaciones de Hongmeng y la unidad más pequeña de las aplicaciones de programación del sistema. DevEco Studio proporciona muchas plantillas de Ability para que las usen los desarrolladores. Cuando desarrollamos la aplicación Hongmeng, principalmente escribimos el código de Habilidad. La parte en el cuadro rojo en la figura a continuación es el código de habilidad de página en un modelo FA:

inserte la descripción de la imagen aquí

(2) Archivos de biblioteca

Los archivos de biblioteca son códigos de terceros en los que deben confiar las aplicaciones, como archivos binarios como so, jar, bin y har, y generalmente se almacenan en libsdirectorios.

(3) Archivos de recursos

Los archivos de recursos requeridos por la aplicación incluyen cadenas de caracteres, imágenes, audio, etc., y se almacenan en resourcesel directorio, lo cual es conveniente para que los desarrolladores los usen y mantengan. Para obtener más información, consulte la clasificación de los archivos de recursos:

https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/quick-start/basic-resource-file-categories.md/
https://developer.harmonyos.com/cn/docs/documentation/doc-guides/basic-resource-file-categories-0000001052066099

(4) archivo de configuración

Diversa información de configuración de HAP se recopila en el archivo de configuración. Para los modelos (modelo FA, modelo Stage) utilizados por la Habilidad contenida en HAP, los archivos de configuración de HAP también son diferentes. Ver:

应用包结构说明(FA模型)
https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/quick-start/package-structure.md/
应用包结构说明(Stage模型)
https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/quick-start/stage-structure.md/

2. Desarrollo de habilidades

Ability框架概述
https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/ability/ability-brief.md/

La habilidad tiene dos modelos: el modelo FA y el modelo Stage.

1. FA modelo

Las aplicaciones API 8 y anteriores solo se pueden desarrollar con el modelo FA.

El modelo FA divide la Habilidad en dos tipos: FA (Habilidad de Característica) y PA (Habilidad de Partícula).

FA (Capacidad de característica) admite la Capacidad de página, y una Capacidad de página puede contener una o más páginas (es decir, Página), PA admite Capacidad de servicio, Capacidad de datos y Capacidad de formulario.

FA (Feature Ability) tiene una interfaz de usuario (consulte la tercera parte de este artículo: desarrollo de la interfaz de usuario); PA (Particle Ability) no tiene interfaz de usuario.

https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/ability/fa-brief.md/

2. Modelo de escenario

A partir de API 9, el marco Ability introduce el modelo Stage como la segunda forma del marco de aplicación. El modelo Stage divide Ability en dos categorías: Ability y ExtensionAbility. ExtensionAbility se extiende a una serie de ExtensionAbility como ServiceExtensionAbility, FormExtensionAbility y DataShareExtensionAbility, por lo que que cumplen con más escenarios de uso.

https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/ability/stage-brief.md/

3. Desarrollo de la interfaz de usuario

UI框架
https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/quick-start/start-overview.md/#ui%E6%A1%86%E6%9E%B6

OpenHarmony proporciona un conjunto de marcos de desarrollo de interfaz de usuario, a saber, el marco de desarrollo Ark (marco ArkUI). El marco de desarrollo de Ark puede proporcionar a los desarrolladores las capacidades necesarias para el desarrollo de la interfaz de usuario de la aplicación, como varios componentes, cálculos de diseño, capacidades de animación, interacción de la interfaz de usuario y dibujo.

El marco de desarrollo de Ark proporciona dos paradigmas de desarrollo para desarrolladores con diferentes propósitos y antecedentes técnicos: el paradigma de desarrollo similar a la Web basado en extensiones JS (denominado "paradigma de desarrollo similar a la Web") y el paradigma de desarrollo declarativo basado en extensiones TS ( denominado "paradigma de desarrollo declarativo") . La siguiente es una comparación simple de los dos paradigmas de desarrollo.

nombre del paradigma de desarrollo ecología del lenguaje método de actualización de la interfaz de usuario escena aplicable Para la gente
Paradigma de desarrollo similar a la web lenguaje JS actualización basada en datos Apps y tarjetas con interfaces más simples Desarrollador front-end web
Paradigma de desarrollo declarativo Lenguaje TS extendido (eTS) actualización basada en datos Programas con mayor complejidad y mayor trabajo en equipo Desarrollador de aplicaciones de sistemas móviles, desarrollador de aplicaciones de sistemas

Para el desarrollo del lenguaje JS, el método de código bajo es compatible con DevEco Studio V2.2 Beta1 y versiones posteriores.

Para el desarrollo del lenguaje eTS, el método de código bajo es compatible con DevEco Studio V3.0 Beta3 y versiones posteriores.

方舟开发框架概述
https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/ui/arkui-overview.md/
基于JS扩展的类Web开发范式
https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/ui/ui-js-overview.md/
基于TS扩展的声明式开发范式
https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/ui/ui-ts-overview.md/

4. Estructura del directorio del proyecto de aplicación de Hongmeng

Según el modelo de Ability (FA, Stage) y el lenguaje de programación (eTS, JS, C++), la estructura de directorios del proyecto de la aplicación OpenHarmony tiene los siguientes cinco tipos:

1. Estructura del directorio del proyecto eTS (modelo FA)

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-project-overview-0000001218440650#section4154183910141

2. Estructura del directorio del proyecto JS (modelo FA)

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-project-overview-0000001218440650#section199109862914

3. Estructura del directorio del proyecto C++ (modelo FA)

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-project-overview-0000001218440650#section3732132312179

4. Estructura del directorio del proyecto eTS (modelo Stage)

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-project-overview-0000001218440650#section56487581904

5. Estructura de directorios del proyecto C++ (modelo Stage)

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-project-overview-0000001218440650#section11993659193917

5. Lenguaje de programación

Participar en el desarrollo de aplicaciones de Hongmeng, en el proyecto C++, se usa el lenguaje C++; en el proyecto JS, además del lenguaje JavaScript, también se usan HML y CSS; en el proyecto eTS, se usa el lenguaje eTS.

El lenguaje eTS es un superconjunto del lenguaje TS (Type Script), y TS es un superconjunto de JavaScript.

Referencia de sintaxis HML

https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Release/zh-cn/application-dev/ui/js-framework-syntax-hml.md

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/js-framework-syntax-hml-0000000000611413

Referencia de sintaxis CSS

https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Release/zh-cn/application-dev/ui/js-framework-syntax-css.md

https://www.runoob.com/css/css-tutorial.html 

https://www.runoob.com/cssref/css-reference.html

Referencia de sintaxis JS

https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Release/zh-cn/application-dev/ui/js-framework-syntax-js.md

https://www.runoob.com/js/js-tutorial.html

Referencia de sintaxis de TypeScript

https://www.runoob.com/typescript/ts-tutorial.html

https://www.runoob.com/manual/gitbook/TypeScript/_book/





Supongo que te gusta

Origin blog.csdn.net/u013819452/article/details/126627424
Recomendado
Clasificación