Articulo de referencia

Arca TS

ArkTS es un lenguaje de programación de alto nivel , de propósito general , multiparadigma , compilado , declarativo y de tipo estático desarrollado por Huawei , que es un super...

ArkTS es un lenguaje de programación de alto nivel , de propósito general , multiparadigma , compilado , declarativo y de tipo estático desarrollado por Huawei , que es un superconjunto de extensión de TypeScript de código abierto , a su vez un superconjunto de JavaScript utilizado anteriormente en la versión HarmonyOS 3.0 de julio de 2022, junto con su precursor evolucionado, Extended TypeScript (eTS), creado para el desarrollo de HarmonyOS como un cambio hacia la programación declarativa . [1] ArkTS se compila en código de máquina a través de su compilador Ark Compiler de compilación anticipada . ArkTS se lanzó por primera vez el 30 de septiembre de 2021 en OpenHarmony , y la cadena de herramientas ArkTS se ha distribuido en DevEco Studio desde la versión 3.1, lanzada en 2022. [2] Desde el lanzamiento de OpenHarmony 4.0 el 26 de octubre de 2023, las API de ArkTS se han agregado a la comunidad de código abierto para contribuir. [3]

Huawei tenía la intención de que ArkTS admitiera muchos conceptos básicos asociados con TypeScript extendido (eTS) basado en TypeScript y, a su vez, JavaScript de versiones anteriores de HarmonyOS 3.0 con el desarrollo de aplicaciones de interfaz de usuario declarativa ArkUI y el desarrollo de aplicaciones imperativas 2.0 junto con Java . ArkTS se presentó en la Conferencia de desarrolladores (HDC) 2022 de Huawei en noviembre de 2022 en el lanzamiento de HarmonyOS 3.1. [4]

Se sometió a una actualización en HDC 2023 con HarmonyOS 4.0 API 10 y una actualización importante en la Conferencia de desarrolladores de ecología HarmonyOS del 18 de enero de 2024 junto con el nuevo lenguaje de programación Cangjie anunciado por Huawei, donde ambos lenguajes de programación se convierten en los lenguajes principales para la versión iterativa del sistema HarmonyOS NEXT del sistema operativo HarmonyOS. [5] [6]

La versión actual de ArkTS se lanzó el 26 de octubre de 2023 para la API 10 de código abierto OpenHarmony 4.0 con nuevas API de ArkTS a través de la compilación Canary de DevEco Studio 4.0 después del lanzamiento de HarmonyOS 4.0 el 4 de agosto de 2023. [7] Después del lanzamiento estable actual, se lanzó una vista previa en enero de 2024, con OpenHarmony 4.1 Beta 1 API 11. Junto con HarmonyOS NEXT Developer Preview 1 y 2 interna con la última vista previa de API 11-12 basada en la última versión de OpenHarmony que presenta una sintaxis avanzada que se maduró en la versión 5.0 del IDE de DevEco Studio que es sintácticamente rigurosa y brinda capacidades más completas y ricas en comparación con versiones anteriores. [8]

Historia

El desarrollo de ArkTS comenzó en 2015 por el fundador de HarmonyOS, Wang Chenglu, con la colaboración final de muchos otros programadores de Huawei en ese momento comenzó el desarrollo de HarmonyOS después de haber sido incubado en los laboratorios de I + D durante algunos años ya en 2012 dentro de la empresa. ArkTS fue motivado por la necesidad de un reemplazo para el lenguaje de programación anterior de Huawei, Java, que no solo conllevaba un bagaje legal sino también problemas de rendimiento, aplicaciones subdesarrolladas en un SDK más débil con el que se entregaban HarmonyOS 1.0 Vision TV, IoT y HarmonyOS 2.0 versión ampliada y mejoras que aún faltaban en HarmonyOS 3.0 desarrollo de eTS / JS para el desarrollo de aplicaciones HarmonyOS que carecían de características modernas para el sistema operativo moderno. ArkTS tomó ideas de lenguaje como TypeScript , Swift , Rust , JavaScript . En noviembre de 2022, Huawei reveló que el lenguaje de programación evolucionó de eTS en HarmonyOS 3.0 a ArkTS en la actualización de HarmonyOS 3.1. Se lanzó una versión beta del lenguaje de programación para los desarrolladores registrados de Huawei en la conferencia y no se convirtió en código abierto en ese momento hasta la era de OpenHarmony 3.0 API 7 bajo la Fundación OpenAtom, cuando Huawei contribuyó con los códigos ArkTS y las API de HarmonyOS 3.0, que anteriormente se llamaba eTS, en septiembre de 2021. [9]

Durante HDC 2021, en octubre de 2021, Huawei anunció ArkUI con DevEco Studio 3.0 para la era HarmonyOS 3.0, que proporciona un marco para el diseño de la estructura de la interfaz de usuario declarativa en todos los dispositivos Huawei para el desarrollo de eTS que evolucionó al desarrollo de ArkTS por HDC 2022 para HarmonyOS 3.1. ArkTS apareció por primera vez en OpenHarmony 3.1 Beta de OpenAtom el 31 de diciembre de 2021 junto con su documentación. [10] Desde diciembre de 2023, ArkUI ha evolucionado a OpenHarmony 4.0, también el sistema operativo global Oniro basado en OpenHarmony de Eclipse Foundation con soporte del lenguaje de programación ArkTS y API. Además, Huawei anunció que evolucionaría ArkUI a una interfaz de usuario declarativa multiplataforma llamada ArkUI-X para reducir el tiempo y los costos de desarrollo de aplicaciones al llevarla a múltiples plataformas en Android , iOS , Microsoft Windows y macOS , etc. Incluyendo EulerOS en contenedores que comparte las tecnologías de la pila de software de aplicación HarmonyOS, lo que facilita la interoperabilidad. [11] [12]

Historial de versiones

Historial de versiones de las versiones de ArkTS con el SDK de convergencia OpenHarmony (API 7) y HarmonyOS (API 8).

[13]

Plataformas

Las plataformas compatibles con ArkTS son HarmonyOS, Linux, Windows, macOS, iOS y Android.

Un aspecto clave del diseño de ArkTS es su capacidad de interoperar con el enorme volumen de código eTS y JavaScript existente desarrollado para los productos Huawei en las versiones anteriores de HarmonyOS, como el sistema de lenguaje de diseño HarmonyOS y el sistema de interfaz gráfica de usuario. En los dispositivos Huawei que ejecutan HarmonyOS, se vincula con la biblioteca de tiempo de ejecución eTS , que permite que las API nativas en las plantillas de DevEco Studio, C, C++ y el código ArkTS se ejecuten dentro de un programa. [14]

Características

ArkTS es un lenguaje de programación de propósito general que emplea conceptos teóricos de lenguajes de programación modernos y busca presentar una sintaxis simple pero poderosa. ArkTS incorpora innovaciones y convenciones de varios lenguajes de programación, con una notable inspiración de TypeScript, al que reemplazó como lenguaje de desarrollo principal en HarmonyOS.

ArkTS fue diseñado para ser seguro y amigable para los nuevos programadores sin sacrificar la velocidad. Por defecto, ArkTS administra toda la memoria automáticamente y garantiza que las variables siempre se inicialicen antes de su uso. Los accesos a matrices se verifican para detectar errores fuera de límites y las operaciones con números enteros se verifican para detectar desbordamientos. Los nombres de parámetros permiten la creación de API claras. Los protocolos definen interfaces que los tipos pueden adoptar, mientras que las extensiones permiten a los desarrolladores agregar funcionalidad a los tipos existentes. ArkTS permite la programación orientada a objetos con soporte para clases , subtipos y anulación de métodos . Los opcionales permiten que los valores nulos se manejen de manera explícita y segura. Los programas concurrentes se pueden escribir utilizando la sintaxis async/await y los actores aíslan el estado mutable compartido para eliminar las carreras de datos. [15]

Ejemplos

El siguiente es un ejemplo de un programa simple de Hola Mundo . Es una práctica estándar en ArkUI con el lenguaje de programación ArkTS separar la estructura de la aplicación y las vistas en estructuras diferentes, con la vista principal denominada Index. [16]

importar ArkTS // Index.ets 


importar enrutador desde '@ohos.router' ;   

@Entry 
@Component 
struct Index { @State mensaje : cadena = 'Hola mundo'  
      

  build () { Row () { Column () { Text ( this.message ) .fontSize ( 50 ) .fontWeight ( FontWeight.Bold ) // Agrega un botón para responder a los clics del usuario. Button () { Text ( ' Next' ) . fontSize ( 30 ) .fontWeight ( FontWeight.Bold ) } . type ( ButtonType.Capsule ) .margin ( { top : 20 }) . backgroundColor ( ' #0D9FFB' ) .width('40%'). height ( ' 5 % ' ) // Vincula el evento onClick al botón Siguiente para que al hacer clic en el botón se redirija al usuario a la segunda página. .onClick ( ( ) => { router.pushUrl ( { url : ' pages / Second ' } ) }) } . width ( ' 100%' ) } . altura ( '100%' ) } } 
     
       
        
          
          
        
         
          
            
            
        
        
        
           
        
        
        
        
        
          
             
        
      
      
    
    
  

ArkUI-X

ArkUI-X es un kit de desarrollo de software de interfaz de usuario de código abierto que es una extensión de ArkUI para el desarrollo de ArkTS creado por Huawei. Se utiliza para desarrollar aplicaciones multiplataforma a partir de una única base de código para cualquier plataforma, como Android, iOS, OpenHarmony, Oniro OS y HarmonyOS, que se lanzó el 8 de diciembre de 2023, después de la compilación Canary 1 el 4 de agosto de 2023. [17] ArkUI reemplaza el antiguo paradigma de Interface Builder con un nuevo paradigma de desarrollo declarativo.

Tiempo de ejecución de TypeScript en Ark

ARK TypeScript 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. [18]

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. [19]

Cadena de herramientas ArkCompiler para depuración

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 de DevEco Studio IDE, que se basa en ArkCompiler Runtime para proporcionar información relacionada con el tiempo de ejecución a los desarrolladores. [20]

Herramientas de desarrollo

Compilador

Ark Compiler es compatible con una variedad de lenguajes de programación dinámicos y estáticos, como JS , TS y ArkTS. Es la base de compilación y tiempo de ejecución que permite que OpenHarmony, junto con HarmonyOS NEXT, se ejecute en múltiples formatos de dispositivos, como dispositivos inteligentes, teléfonos móviles, PC, tabletas, televisores, automóviles y dispositivos portátiles. ArkCompiler consta de dos partes: la cadena de herramientas del compilador y el tiempo de ejecución. [21]

Compatibilidad con IDE y editor

DevEco Studio para el desarrollo de HarmonyOS utilizando ArkUI declarativo predeterminado, también otros marcos de interfaz de usuario de terceros en OpenHarmony SDK, desarrollo multiplataforma ArkUI-X con soporte para Android e iOS. [22]

Véase también

Referencias

  1. ^ 徐, 礼文. HarmonyOS操作系统应用开发实战(JavaScript版)[ Desarrollo práctico de aplicaciones con el sistema operativo HarmonyOS (edición JavaScript) ]. Tsinghua University Press . ISBN 9787302600312.
  2. ^ Amit (14 de noviembre de 2022). "Última hora: se anunció la línea de tiempo de Huawei HarmonyOS 3.1 [se lanzó la versión preliminar para desarrolladores]". Actualización de Huawei . Consultado el 12 de febrero de 2024 .
  3. ^ "Introducción a ArkTS". OpenAtom OpenHarmony . Consultado el 12 de febrero de 2024 .
  4. ^ Amit (14 de noviembre de 2022). "Última hora: se anunció la línea de tiempo de Huawei HarmonyOS 3.1 [se lanzó la versión preliminar para desarrolladores]". Actualización de Huawei . Consultado el 12 de febrero de 2024 .
  5. ^ NYAME, FREDERICK (26 de julio de 2023). "PREPÁRESE PARA HARMONYOS 4.0: ANUNCIO OFICIAL EL 4 DE AGOSTO". GIZMOCHINA . Consultado el 12 de febrero de 2024 .
  6. ^ Paul, Peter. "HarmonyOS NEXT presentado: ¡Un sistema operativo independiente sin dependencia de APK de Android!". GIZGUIDE . Consultado el 12 de febrero de 2024 .
  7. ^ Li, Deng (28 de octubre de 2023). «Se lanzó la versión de lanzamiento de OpenHarmony 4.0 con API 10». HC Newsroom . Consultado el 12 de febrero de 2024 .
  8. ^ Li, Deng (enero de 2024). «Versión beta 1 de HarmonyOS 4.1 de código abierto con interfaces API 11». HC Newsroom . Consultado el 12 de febrero de 2024 .
  9. ^ Zhang, Phate Zhang (25 de septiembre de 2020). "Detrás del nacimiento de HarmonyOS de Huawei". CNTechPost . Consultado el 12 de febrero de 2024 .
  10. ^ "OpenHarmony 3.1 Beta". OpenAtom OpenHarmony . Consultado el 15 de febrero de 2024 .
  11. ^ "Las versiones beta de DevEco Studio 3.0 para HarmonyOS 3.0 y OpenHarmony 3.1 ya están disponibles". Develop Know . Consultado el 12 de febrero de 2024 .
  12. ^ Li, Deng (17 de noviembre de 2022). "Lanzamiento de Huawei DevEco Studio 3.1 Canary". HC Newsroom . Consultado el 12 de febrero de 2024 .
  13. ^ "Lanzamiento de OpenHarmony 5.0.0". Casa rural . OpenAtom OpenHarmony . Consultado el 13 de octubre de 2024 .
  14. ^ "HarmonyOS 3.0.0 Developer Preview". HarmonyOS . Consultado el 12 de febrero de 2024 .
  15. ^ "Tutorial de ArkTS" (PDF) . OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  16. ^ "Introducción a ArkTS en el modelo Stage: implementación de la redirección de páginas". HarmonyOS . Consultado el 12 de febrero de 2024 .
  17. ^ "Notas de la versión de ArkUI-X". ArkUI-X GitHub . Consultado el 12 de febrero de 2024 .
  18. ^ "ArkCompiler JS Runtime - ets Runtime". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  19. ^ "ets_frontend". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  20. ^ "Componentes de la cadena de herramientas de Ark". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  21. ^ "Tiempo de ejecución de ArkCompiler". OpenAtom Gitee . Consultado el 12 de febrero de 2024 .
  22. ^ "SDK de ArkUI-X". ArkUI-X GitHub . Consultado el 12 de febrero de 2024 .
  • [1]
  • Especificación del lenguaje ArkTS
Retrieved from "https://en.wikipedia.org/w/index.php?title=ArkTS&oldid=1262182792"