A developer guide to HarmonyOS
Building for HarmonyOS means learning ArkTS (an extended TypeScript), the declarative ArkUI framework and the DevEco Studio IDE. This guide sums up the stack and the path to publishing your first app.
Key points
- HarmonyOS apps are written in ArkTS, an extension of TypeScript, with the declarative ArkUI framework.
- The official IDE is DevEco Studio, free, with an emulator and debugging tools.
- Cangjie is Huawei's own language, open source since July 2025 and interoperable with ArkTS.
- Huawei reports 11 million developers and more than 100,000 native apps.
The development stack
| Piece | What it is | Android equivalent |
|---|---|---|
| ArkTS | Main language, based on TypeScript with strict typing | Kotlin |
| ArkUI | Declarative UI framework | Jetpack Compose |
| Cangjie | Huawei's own compiled language, interoperable with ArkTS | — |
| DevEco Studio | IDE, emulator and profilers | Android Studio |
| HAP / atomic services | App package format | APK / Instant Apps |
| AppGallery Connect | Console to publish and analyse apps | Google Play Console |
ArkTS and ArkUI
ArkTS extends TypeScript with stricter typing (no any and no types that change at runtime) so the Ark compiler can produce efficient code. If you know TypeScript or JavaScript, the learning curve is gentle.
ArkUI describes the interface declaratively, like SwiftUI or Jetpack Compose: you define components and their state, and the system redraws whatever changes. This is what a simple component looks like:
@Entry
@Component
struct Greeting {
@State taps: number = 0
build() {
Column({ space: 12 }) {
Text(`You tapped ${this.taps} times`).fontSize(20)
Button('Tap').onClick(() => { this.taps++ })
}
.padding(24)
}
}
Cangjie, Huawei's own language
Cangjie was introduced on 21 June 2024 for building HarmonyOS NEXT apps and was open-sourced on 30 July 2025. It is a compiled, statically typed language with automatic memory management, designed for apps that need performance. It interoperates with ArkTS, so it can be adopted gradually without rewriting an existing app.
Your first app, step by step
- Create your accountSign up on Huawei's HarmonyOS Developer portal and verify your identity so you can publish.
- Install DevEco StudioAvailable for Windows and macOS. It includes the SDK, the emulator and project templates.
- Start from a templatePick "Empty Ability" with ArkTS. Test on the emulator or on a real device with developer mode enabled.
- Adapt to several screensUse ArkUI's adaptive layouts so the same app works on phone, foldable, tablet and PC.
- Publish on AppGallerySign the package, upload it to AppGallery Connect and pass Huawei's review.
Porting an Android or iOS app
There is no complete automatic conversion: the interface has to be rewritten in ArkUI, and calls to Google services must be replaced with Huawei's equivalents (HMS Core: accounts, push notifications, maps, payments). What you can reuse is logic written in C/C++ and, partly, code from cross-platform frameworks that already support HarmonyOS.
Is it worth it?
If your audience is in China, increasingly so: Huawei reports more than 90 million devices on HarmonyOS 6 or later and 450,000 apps and services. If your audience is only in Europe, the return is low for now.
OpenHarmony: building without Huawei
OpenHarmony, the open-source base managed by the OpenAtom Foundation, uses the same ArkTS and ArkUI. It is the option for hardware makers and for industrial or educational projects that do not need Huawei's services or store.
Official resources
- HarmonyOS Developer: documentation, DevEco Studio and codelabs.
- Cangjie Programming Language: language documentation.
- OpenHarmony: the open-source project.
- This site's developer news, updated daily.
Frequently asked questions
Which language is used to build HarmonyOS apps?
Mainly ArkTS, an extension of TypeScript with a declarative UI (ArkUI). There is also Cangjie, Huawei's own language, which interoperates with ArkTS, and C/C++ for native code.
Can I port my Android app to HarmonyOS?
There is no complete automatic conversion: the interface has to be rewritten in ArkUI. Apps built with cross-platform frameworks can reuse part of their code if the framework supports HarmonyOS.
Is it free to develop for HarmonyOS?
DevEco Studio is a free download from Huawei's developer portal. Publishing on AppGallery requires a verified developer account.
What is the difference between HarmonyOS and OpenHarmony?
OpenHarmony is the OpenAtom Foundation's open-source project; HarmonyOS is Huawei's commercial distribution, with its services (HMS), the AppGallery store and its own APIs.
Sources
- Huawei. HarmonyOS Developer (portal oficial para desarrolladores)
- Wikipedia. ArkTS
- Wikipedia. Cangjie (programming language)
- Cangjie Programming Language. Documentación oficial
- OpenAtom Foundation. OpenHarmony (proyecto de código abierto)
- TechNode. Huawei says HarmonyOS native apps top 100,000 as HarmonyOS 6 devices surpass 80 million (28/08/2026)
- Huawei Central. Huawei says HarmonyOS global expansion plan is underway (06/10/2026)