ArkUI

Last updated
ArkUI
Developer(s) Huawei
Initial releaseOctober 22, 2021
Operating system HarmonyOS, OpenHarmony, Oniro
Type Software framework
License open source, Apache License [1]
Website https://developer.harmonyos.com/en/develop/arkUI

ArkUI is a declarative based user interface framework for building user interfaces on native HarmonyOS, OpenHarmony alongside Oniro applications developed by Huawei for the ArkTS and Cangjie programming language. [2]

Contents

Overview

ArkUI 3.0 is declarative in eTS (extended TypeScript) in HarmonyOS 3.0, followed by main ArkTS programming language in HarmonyOS 3.1, contrasting with the imperative syntax used in Java development in earlier versions of HarmonyOS in HarmonyOS 1.0 and 2.0. ArkUI allows for 2D drawing as well as 3D drawing, animations, event handling, Service Card widgets, and data binding. ArkUI automatically synchronizes between UI views and data. [3]

ArkUI integrates with DevEco Studio IDE to provide for real-time previews during editing, [4] alongside support for debugging and other development features. [5]

ArkJS is designed for web development with a Vue 2-like syntax, providing a familiar environment for web developers using JS and CSS. ArkJS incorporates the HarmonyOS Markup Language (HML), which allows attributes prefixed with @ for MVVM architectural pattern. [6] [3] [7]

History

During HDC 2021 on October 22, 2021, the HarmonyOS 3.0 developer preview introduced ArkUI 3.0 for eTS, JS programming languages with ArkCompiler. Compared to previous versions of ArkUI 1.0 and 2.0 under imperative development with Java in earlier versions of HarmonyOS. [8]

During HDC 2022 HarmonyOS 3.1 in November 2022, Huawei ArkUI evolved into full declarative development featuring declarative UI capabilities, improved layout ability, component capability improvement and others. In April 2023, HarmonyOS 3.1 Beta 1 build included ArkUI declarative 2D and 3D drawing capabilities. The upgrade also improves layout, component, and app state management capabilities. [9]

During HDC 2023, August 2023, Huawei announced HarmonyOS 4.0 improvements of ArkUI with ArkTS alongside native HarmonyOS NEXT software development using Ark Engine with ArkGraphics 2D and ArkGraphics 3D. Also, the company announced a cross platform extension of ArkUI called ArkUI-X which would allow developers to run applications across Android, iOS and HarmonyOS under one project using DevEco Studio IDE and Visual Studio Code plugins. On January 18, 2024, during HarmonyOS Ecology Conference, Huawei revealed the HarmonyOS NEXT software stack, that included ArkUI/ArkUI-X programming framework with the Ark Compiler/BiSheng Compiler/Ark Runtime compiler & runtime, for both ArkTS and incoming Cangjie programming language. [10]

ArkUI-X

ArkUI-X
Developer(s) Huawei
Initial releaseDecember 8, 2023
Operating system Android, iOS, OpenHarmony, Oniro, HarmonyOS, Web platform (ArkJS)
Type Application framework
License Apache License
Website https://developer.harmonyos.com/en/develop/arkUI

ArkUI-X is an open-source UI software development kit which is the extension of ArkUI created for building cross platform applications, including Android, iOS targets additionally. [11] Web platform support with ArkJS was released on December 8, 2023. [12] ArkUI-X consists of both a UI language and a rendering engine. [13]

Features

Components

System components are built-in components within the ArkUI framework, categorized into container components and basic components. For example, Row and Column are container components that can hold other components, while Text and Button are basic components. [14]

Examples

The following is an example of a simple Hello World program. It is standard practice in ArkUI to separate the application struct and views into different structs, with the main view named Index. [15]

importArkTS// Index.etsimportrouterfrom'@ohos.router';@Entry@ComponentstructIndex{@Statemessage:string='Hello World'build(){Row(){Column(){Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)// Add a button to respond to user clicks.Button(){Text('Next').fontSize(30).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top:20}).backgroundColor('#0D9FFB').width('40%').height('5%')// Bind the onClick event to the Next button so that clicking the button redirects the user to the second page..onClick(()=>{router.pushUrl({url:'pages/Second'})})}.width('100%')}.height('100%')}}

The @ohos.router routing library implements page transitions, which must be declared in the main_pages.json file before being invoked. [16]

Reception

See also

Related Research Articles

A computing platform, digital platform, or software platform is the infrastructure on which software is executed. While the individual components of a computing platform may be obfuscated under layers of abstraction, the summation of the required components comprise the computing platform.

Windows Presentation Foundation (WPF) is a free and open-source user interface framework for Windows-based desktop applications. WPF applications are based in .NET, and are primarily developed using C# and XAML.

<span class="mw-page-title-main">Svelte</span> JavaScript framework

Svelte is a free and open-source component-based front-end software framework, and language created by Rich Harris and maintained by the Svelte core team members.

The Android Package with the file extension apk is the file format used by the Android operating system, and a number of other Android-based operating systems for distribution and installation of mobile apps, mobile games and middleware. A file using this format can be built from source code written in either Java or Kotlin.

<span class="mw-page-title-main">Ionic (mobile app framework)</span> Open-source framework to develop hybrid mobile apps

Ionic is an open-source UI toolkit for building cross-platform mobile, web, and desktop applications using web technologies such as HTML, CSS, and JavaScript/TypeScript. It provides a set of pre-designed UI components and tools for building high-quality, interactive applications. Ionic was originally built as a complete open-source SDK for hybrid mobile app development created by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013. The original version was released in 2013 and built on top of AngularJS and Apache Cordova. However, the latest release was re-built as a set of Web Components using StencilJS, allowing the user to choose any user interface framework, such as Angular, React or Vue.js. It also allows the use of Ionic components with no user interface framework at all. Ionic provides tools and services for developing hybrid mobile, desktop, and progressive web apps based on modern web development technologies and practices, using Web technologies like CSS, HTML5, and Sass. In particular, mobile apps can be built with these Web technologies and then distributed through native app stores to be installed on devices by utilizing Cordova or Capacitor.

<span class="mw-page-title-main">EMUI</span> Mobile operating system by Huawei

EMUI is an interface based on Android developed by Chinese technology company Huawei, used on the company's smartphones primarily globally.

HarmonyOS (HMOS) is a distributed operating system developed by Huawei for smartphones, tablets, smart TVs, smart watches, personal computers and other smart devices. It has a microkernel design with single framework: the operating system selects suitable kernels from the abstraction layer in the case of devices that use diverse resources.

<span class="mw-page-title-main">Huawei Mobile Services</span> Proprietary software service

Huawei Mobile Services (HMS) is a collection of proprietary services and high level application programming interfaces (APIs) developed by Huawei Technologies Co., Ltd. Its hub known as HMS Core serves as a toolkit for app development on Huawei devices. HMS is typically installed on Huawei devices on top of running HarmonyOS operating system, and on its earlier devices running the Android operating system with EMUI including devices already distributed with Google Mobile Services. Alongside, HMS Core Wear Engine for Android phones with lightweight based LiteOS wearable middleware app framework integration connectivity like notifications, status etc.

<span class="mw-page-title-main">Celia (virtual assistant)</span> AI virtual assistant developed by Huawei

Celia is an artificially intelligent virtual assistant developed by Huawei for their latest HarmonyOS and Android-based EMUI smartphones that lack Google Services and a Google Assistant. The assistant can perform day-to-day tasks, which include making a phone call, setting a reminder and checking the weather. It was unveiled on 7 April 2020 and got publicly released on 27 April 2020 via an OTA update solely to selected devices that can update their software to EMUI 10.1.

<span class="mw-page-title-main">Huawei AppGallery</span> Mobile app distribution platform developed by Huawei for the HarmonyOS operating system

Huawei AppGallery is a package manager and application distribution platform, or marketplace 'app store', developed by Huawei Technologies Co., Ltd. It serves as the official app store for the devices running on Huawei HarmonyOS, and is also available for Huawei EMUI and Microsoft Windows via the Mobile Engine emulator.

The version history of the HarmonyOS distributed operating system began with the public release of the HarmonyOS 1.0 for Honor Vision smart TVs on August 9, 2019. The first expanded commercial version of the Embedded, IoT AI, Edge computing based operating system, HarmonyOS 2.0, was released on June 2, 2021, for phones, tablets, smartwatches, smart speakers, routers, and internet of things. Beforehand, DevEco Studio, the HarmonyOS app development IDE, was released in September 2020 together with the HarmonyOS 2.0 Beta. HarmonyOS is developed by Huawei. New major releases are announced at the Huawei Developers Conference (HDC) in the fourth quarter of each year together with the first public beta version of the operating system's next major version. The next major stable version is then released in the third to fourth quarter of the following year.

<span class="mw-page-title-main">OpenHarmony</span> Family of open-source operating systems based on OpenHarmony

OpenHarmony is a family of open-source distributed operating systems based on HarmonyOS derived from LiteOS, donated the L0-L2 branch source code by Huawei to the OpenAtom Foundation. Similar to HarmonyOS, the open-source distributed operating system is designed with a layered architecture, consisting of four layers from the bottom to the top: the kernel layer, system service layer, framework layer, and application layer. It is also an extensive collection of free software, which can be used as an operating system or in parts with other operating systems via Kernel Abstraction Layer subsystems.

SwiftUI is a declarative framework for building user interfaces for iOS, iPadOS, watchOS, tvOS, visionOS and macOS, developed by Apple Inc. for the Swift programming language.

The HarmonyOS App Pack or the App file, identified with the file extension ".app", serves as the file format used by the HarmonyOS operating system. It functions as a native HarmonyOS app for distribution and installation through Huawei AppGallery, or for distribution through Huawei Ability Gallery in respect of installation-free apps under both former classic dual-framework and current HarmonyOS NEXT system of unified OpenHarmony app framework. The App file is also used by a number of other open source HarmonyOS-based operating systems such as OpenHarmony and Oniro OS-based operating systems for distribution and installation of applications, video games and middleware. Including non OpenHarmony-based operating systems, such as GNU Linux-based Unity Operating System that supports the app file format.

Harmony Intelligent Mobility Alliance, trading as HIMA is an automotive alliance initiated and led by Chinese multinational technology company Huawei. Established in 2023, the members of the alliance include AITO, Luxeed (Chery), Stelato, and Maextro.

HarmonyOS NEXT is a proprietary distributed operating system and a major iteration of HarmonyOS, developed by Huawei to support only HarmonyOS native apps. The operating system is primarily aimed at software and hardware developers that deal directly with Huawei. It does not include Android's AOSP core and is incompatible with Android applications.

Ark Compiler, also known as ArkCompiler, is a unified compilation and runtime platform that supports joint compilation and running across programming languages and chip platforms, also operating systems of open-source OpenHarmony, Oniro OS, alongside proprietary HarmonyOS with single core system HarmonyOS NEXT included on native APP in Event-driven programming in a unified development environment and formerly built for Android-based EMUI for Huawei smartphones and tablets with HMS-enabled apk apps on AppGallery that improves app performance. It supports a variety of dynamic and static programming languages such as JS, TS, and ArkTS. It is the compilation and runtime base that enables OpenHarmony, Oniro OS alongside HarmonyOS NEXT to run on multiple device forms such as smart devices, mobile phones, PCs, tablets, TVs, automobiles, and wearables. ArkCompiler consists of two parts, compiler toolchain and runtime.

ArkTS is a high-level general-purpose, multi-paradigm, compiled, declarative, static type programming language developed by Huawei which is a extension superset of open-source TypeScript, in turn a superset of JavaScript formerly used in July 2022 HarmonyOS 3.0 version, alongside its evolved precursor, extended TypeScript (eTS) built for HarmonyOS development as a shift towards declarative programming. ArkTS compiles to machine code via its ahead-of-time compilation Ark Compiler. ArkTS was first released in September 30, 2021 on OpenHarmony, and the ArkTS toolchain has shipped in DevEco Studio since version 3.1, released in 2022. Since, OpenHarmony 4.0 release on October 26, 2023, ArkTS APIs has been added to the open source community to contribute.

<span class="mw-page-title-main">MindSpore</span> Machine learning software library

MindSpore is a open-source software framework for deep learning, machine learning and artificial intelligence developed by Huawei.

HarmonyOS Kernel, sometimes referred to as the Harmony kernel, is a computer operating system (OS) kernel developed by Huawei since August 2023. It is used in the HarmonyOS 5 version of the proprietary HarmonyOS distributed operating system, replacing previous versions that utilized the AOSP compatibility layer, the Linux kernel, and the LiteOS kernel.

References

  1. "ArkUI API参考". Gitee. OpenAtom OpenHarmony. Archived from the original on 21 May 2024. Retrieved 21 May 2024.
  2. Parker, Victoria (26 January 2024). "HDC Technical Sub-forum: A comprehensive look at HarmonyOS 'next-generation UI Framework". Mo4Tech. Archived from the original on 13 February 2024. Retrieved 12 February 2024.
  3. 1 2 徐, 礼文. HarmonyOS操作系统应用开发实战(JavaScript版)[Hands-on Application Development with the HarmonyOS Operating System (JavaScript Edition)]. Tsinghua University Press. ISBN   9787302600312.
  4. 范承宇; 李竞择; 欧阳迪 (2024-03-28). "基于方舟开发框架的智能装备监控应用研究". 机电产品开发与创新. 37 (2). Mianyang: 114–117 via CNKI.{{cite journal}}: CS1 maint: date and year (link)
  5. Sarkar, Amy (26 October 2021). "HarmonyOS 3.0 ArkUI 3.0: Declarative User Interface framework". HC Newsroom. Archived from the original on 2 March 2024. Retrieved 12 February 2024.
  6. Kapuściak, Kacper; Wajgelt, Juliusz; Schmidt, Stefan (8 November 2023). "Bringing Graphical Applications to Oniro on the Example of React Native". YouTube. Eclipse Foundation. Archived from the original on 29 February 2024. Retrieved 29 February 2024.
  7. 褚洪波 (2022). 鸿蒙App开发全流程实战 [Hands-On Full-Process Development of HarmonyOS Apps] (in Chinese (China)). 机械工业出版社  [ zh ]. ISBN   9787111714910.
  8. "New release of HarmonyOS 3.0.0 developer preview". SegmentFault. Retrieved 12 February 2024.
  9. Sarkar, Amy (25 April 2023). "HarmonyOS 3.1 Beta 2 rolling out". HC Newsroom. Archived from the original on 24 September 2023. Retrieved 12 February 2024.
  10. Bhati, Kamlesh. "Huawei HarmonyOS NEXT Official Now: Bring Spatial Design and Vivid Color Concepts". Sparrownews.com. Archived from the original on 13 February 2024. Retrieved 12 February 2024.
  11. 连, 志安 (2023). OpenHarmony当前进展和未来趋势[Current progress and future trends of OpenHarmony]. 单片机与嵌入式系统应用. 23 (11): 4–9+13. ISSN   1009-623X.
  12. "ArkUI-X Release Notes". ArkUI-X GitHub. Archived from the original on 12 February 2024. Retrieved 12 February 2024.
  13. "ArkUI-X 预览版正式开源". 知乎专栏 (in Chinese). Retrieved 2024-05-21.
  14. 刘玥; 张荣超 (2024-07-01). 鸿蒙原生应用开发:ArkTS语言快速上手[Developing Native Applications on HarmonyOS: A Quick Start with ArkTS Language]. Posts & Telecommunications Press  [ zh ]. ISBN   9787115642509.
  15. "Getting Started with ArkTS in Stage Model - Implementing Page Redirection". HarmonyOS. Archived from the original on 12 February 2024. Retrieved 12 February 2024.
  16. 张, 欧亚; 黄, 涛; 曾, 超; 叶, 荣涛 (2024). "鸿蒙OS智能终端适老化软件研发探索". 信息技术与工程学院学报 (in Chinese (China)) (13). 广州商学院. doi:10.19850/j.cnki.2096-4706.2024.13.031 via CNKI.
  17. IT之家 (2024-07-22). "启动时间 1 秒内,淘宝鸿蒙原生版上线 HarmonyOS NEXT". Tencent News (in Chinese (China)). Retrieved 2024-11-25.